http://git-wip-us.apache.org/repos/asf/mesos-site/blob/d56d94d1/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 58b7391..5dfb392 100644 --- a/content/api/latest/c++/slave_8hpp_source.html +++ b/content/api/latest/c++/slave_8hpp_source.html @@ -642,426 +642,435 @@ <div class="line"><a name="l00588"></a><span class="lineno"> 588</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="l00589"></a><span class="lineno"> 589</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="l00590"></a><span class="lineno"> 590</span> </div> -<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keyword">const</span> Flags <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</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>  <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="l00594"></a><span class="lineno"> 594</span> </div> -<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  SlaveInfo info;</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>  protobuf::slave::Capabilities capabilities;</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="comment">// Resources that are checkpointed by the slave.</span></div> -<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> checkpointedResources;</div> +<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="comment">// Checks whether the two `SlaveInfo` objects are considered</span></div> +<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="comment">// compatible based on the value of the `--configuration_policy`</span></div> +<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="comment">// flag.</span></div> +<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="classTry.html">Try<Nothing></a> compatible(</div> +<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keyword">const</span> SlaveInfo& previous,</div> +<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keyword">const</span> SlaveInfo& current) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div> +<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  protobuf::master::Capabilities requiredMasterCapabilities;</div> +<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div> +<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keyword">const</span> Flags <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>;</div> <div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div> -<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="comment">// The current total resources of the agent, i.e., `info.resources()` with</span></div> -<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="comment">// checkpointed resources applied and resource provider resources.</span></div> -<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> totalResources;</div> +<div class="line"><a name="l00602"></a><span class="lineno"> 602</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="l00603"></a><span class="lineno"> 603</span> </div> +<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  SlaveInfo info;</div> <div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div> -<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <a class="code" href="classOption.html">Option<process::UPID></a> master;</div> +<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  protobuf::slave::Capabilities capabilities;</div> <div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div> -<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <a class="code" href="classhashmap.html">hashmap<FrameworkID, Framework*></a> frameworks;</div> -<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div> -<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="comment">// Note that these frameworks are "completed" only in that</span></div> -<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="comment">// they no longer have any active tasks or executors on this</span></div> -<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="comment">// particular agent.</span></div> -<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="comment">//</span></div> -<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="comment">// TODO(bmahler): Implement a more accurate framework lifecycle</span></div> -<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="comment">// in the agent code, ideally the master can inform the agent</span></div> -<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="comment">// when a framework is actually completed, and the agent can</span></div> -<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="comment">// perhaps store a cache of "idle" frameworks. See MESOS-7890.</span></div> -<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <a class="code" href="classBoundedHashMap.html">BoundedHashMap<FrameworkID, process::Owned<Framework></a>> completedFrameworks;</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>  <a class="code" href="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector;</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>  Containerizer* containerizer;</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>  Files* files;</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>  <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="l00627"></a><span class="lineno"> 627</span> </div> -<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime;</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>  GarbageCollector* gc;</div> -<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div> -<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  TaskStatusUpdateManager* taskStatusUpdateManager;</div> -<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div> -<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="comment">// Master detection future.</span></div> -<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Option<MasterInfo></a>> detection;</div> +<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="comment">// Resources that are checkpointed by the slave.</span></div> +<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> checkpointedResources;</div> +<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div> +<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="comment">// The current total resources of the agent, i.e., `info.resources()` with</span></div> +<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="comment">// checkpointed resources applied and resource provider resources.</span></div> +<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> totalResources;</div> +<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div> +<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <a class="code" href="classOption.html">Option<process::UPID></a> master;</div> +<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div> +<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <a class="code" href="classhashmap.html">hashmap<FrameworkID, Framework*></a> frameworks;</div> +<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div> +<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">// Note that these frameworks are "completed" only in that</span></div> +<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="comment">// they no longer have any active tasks or executors on this</span></div> +<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">// particular agent.</span></div> +<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="comment">//</span></div> +<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="comment">// TODO(bmahler): Implement a more accurate framework lifecycle</span></div> +<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="comment">// in the agent code, ideally the master can inform the agent</span></div> +<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="comment">// when a framework is actually completed, and the agent can</span></div> +<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="comment">// perhaps store a cache of "idle" frameworks. See MESOS-7890.</span></div> +<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <a class="code" href="classBoundedHashMap.html">BoundedHashMap<FrameworkID, process::Owned<Framework></a>> completedFrameworks;</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="classmesos_1_1master_1_1detector_1_1MasterDetector.html">mesos::master::detector::MasterDetector</a>* detector;</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>  Containerizer* containerizer;</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>  Files* files;</div> +<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div> +<div class="line"><a name="l00635"></a><span class="lineno"> 635</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="l00636"></a><span class="lineno"> 636</span> </div> -<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="comment">// Master's ping timeout value, updated on reregistration.</span></div> -<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <a class="code" href="classDuration.html">Duration</a> masterPingTimeout;</div> -<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div> -<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// Timer for triggering re-detection when no ping is received from</span></div> -<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="comment">// the master.</span></div> -<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> pingTimer;</div> -<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div> -<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="comment">// Timer for triggering agent (re)registration after detecting a new master.</span></div> -<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> agentRegistrationTimer;</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>  <span class="comment">// Root meta directory containing checkpointed data.</span></div> -<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keyword">const</span> std::string metaDir;</div> -<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div> -<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="comment">// Indicates the number of errors ignored in "--no-strict" recovery mode.</span></div> -<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> recoveryErrors;</div> +<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime;</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>  GarbageCollector* gc;</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>  TaskStatusUpdateManager* taskStatusUpdateManager;</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>  <span class="comment">// Master detection future.</span></div> +<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Option<MasterInfo></a>> detection;</div> +<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div> +<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// Master's ping timeout value, updated on reregistration.</span></div> +<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <a class="code" href="classDuration.html">Duration</a> masterPingTimeout;</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>  <span class="comment">// Timer for triggering re-detection when no ping is received from</span></div> +<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="comment">// the master.</span></div> +<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> pingTimer;</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>  <a class="code" href="classOption.html">Option<Credential></a> credential;</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>  <span class="comment">// Authenticatee name as supplied via flags.</span></div> -<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  std::string authenticateeName;</div> -<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div> -<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <a class="code" href="classmesos_1_1Authenticatee.html">Authenticatee</a>* authenticatee;</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">// Indicates if an authentication attempt is in progress.</span></div> -<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <a class="code" href="classOption.html">Option<process::Future<bool></a>> authenticating;</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">// Indicates if the authentication is successful.</span></div> -<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordtype">bool</span> authenticated;</div> -<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div> -<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="comment">// Indicates if a new authentication attempt should be enforced.</span></div> -<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordtype">bool</span> reauthenticate;</div> +<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="comment">// Timer for triggering agent (re)registration after detecting a new master.</span></div> +<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="classprocess_1_1Timer.html">process::Timer</a> agentRegistrationTimer;</div> +<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div> +<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <span class="comment">// Root meta directory containing checkpointed data.</span></div> +<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keyword">const</span> std::string metaDir;</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>  <span class="comment">// Indicates the number of errors ignored in "--no-strict" recovery mode.</span></div> +<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> recoveryErrors;</div> +<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div> +<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <a class="code" href="classOption.html">Option<Credential></a> credential;</div> +<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div> +<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="comment">// Authenticatee name as supplied via flags.</span></div> +<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  std::string authenticateeName;</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>  <a class="code" href="classmesos_1_1Authenticatee.html">Authenticatee</a>* authenticatee;</div> <div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div> -<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="comment">// Indicates the number of failed authentication attempts.</span></div> -<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  uint64_t failedAuthentications;</div> +<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="comment">// Indicates if an authentication attempt is in progress.</span></div> +<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <a class="code" href="classOption.html">Option<process::Future<bool></a>> authenticating;</div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div> -<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="comment">// Maximum age of executor directories. Will be recomputed</span></div> -<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="comment">// periodically every flags.disk_watch_interval.</span></div> -<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <a class="code" href="classDuration.html">Duration</a> executorDirectoryMaxAllowedAge;</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="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator;</div> +<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="comment">// Indicates if the authentication is successful.</span></div> +<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordtype">bool</span> authenticated;</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">// Indicates if a new authentication attempt should be enforced.</span></div> +<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <span class="keywordtype">bool</span> reauthenticate;</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>  <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController;</div> -<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div> -<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <a class="code" href="classmesos_1_1SecretGenerator.html">mesos::SecretGenerator</a>* secretGenerator;</div> -<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div> -<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<Authorizer*></a> authorizer;</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>  <span class="comment">// The most recent estimate of the total amount of oversubscribed</span></div> -<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="comment">// (allocated and oversubscribable) resources.</span></div> -<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <a class="code" href="classOption.html">Option<Resources></a> oversubscribedResources;</div> -<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div> -<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  ResourceProviderManager resourceProviderManager;</div> -<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="classprocess_1_1Owned.html">process::Owned<LocalResourceProviderDaemon></a> localResourceProviderDaemon;</div> -<div class="line"><a name="l00690"></a><span class="lineno"> 690</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="l00691"></a><span class="lineno"> 691</span> </div> -<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="comment">// Pending operations or terminal operations that have</span></div> -<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="comment">// unacknowledged status updates.</span></div> -<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <a class="code" href="classhashmap.html">hashmap<UUID, OfferOperation*></a> offerOperations;</div> -<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> };</div> +<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="comment">// Indicates the number of failed authentication attempts.</span></div> +<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  uint64_t failedAuthentications;</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>  <span class="comment">// Maximum age of executor directories. Will be recomputed</span></div> +<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="comment">// periodically every flags.disk_watch_interval.</span></div> +<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <a class="code" href="classDuration.html">Duration</a> executorDirectoryMaxAllowedAge;</div> +<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div> +<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <a class="code" href="classmesos_1_1slave_1_1ResourceEstimator.html">mesos::slave::ResourceEstimator</a>* resourceEstimator;</div> +<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div> +<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <a class="code" href="classmesos_1_1slave_1_1QoSController.html">mesos::slave::QoSController</a>* qosController;</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>  <a class="code" href="classmesos_1_1SecretGenerator.html">mesos::SecretGenerator</a>* secretGenerator;</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="keyword">const</span> <a class="code" href="classOption.html">Option<Authorizer*></a> authorizer;</div> +<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div> +<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="comment">// The most recent estimate of the total amount of oversubscribed</span></div> +<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="comment">// (allocated and oversubscribable) resources.</span></div> +<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <a class="code" href="classOption.html">Option<Resources></a> oversubscribedResources;</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> </div> -<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="comment">// Represents the streaming HTTP connection to an executor.</span></div> -<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html"> 699</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="l00700"></a><span class="lineno"> 700</span> {</div> -<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af"> 701</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="l00702"></a><span class="lineno"> 702</span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType)</div> -<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  : <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>(_writer),</div> -<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>(_contentType),</div> -<div class="line"><a name="l00705"></a><span class="lineno"> 705</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="l00697"></a><span class="lineno"> 697</span>  ResourceProviderManager resourceProviderManager;</div> +<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <a class="code" href="classprocess_1_1Owned.html">process::Owned<LocalResourceProviderDaemon></a> localResourceProviderDaemon;</div> +<div class="line"><a name="l00699"></a><span class="lineno"> 699</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="l00700"></a><span class="lineno"> 700</span> </div> +<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="comment">// Pending operations or terminal operations that have</span></div> +<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="comment">// unacknowledged status updates.</span></div> +<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <a class="code" href="classhashmap.html">hashmap<UUID, OfferOperation*></a> offerOperations;</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> </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">// Converts the message to an Event before sending.</span></div> -<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div> -<div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b"> 709</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="l00710"></a><span class="lineno"> 710</span>  {</div> -<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="comment">// We need to evolve the internal 'message' into a</span></div> -<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="comment">// 'v1::executor::Event'.</span></div> -<div class="line"><a name="l00713"></a><span class="lineno"> 713</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="l00714"></a><span class="lineno"> 714</span>  }</div> +<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">// Represents the streaming HTTP connection to an executor.</span></div> +<div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html"> 708</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="l00709"></a><span class="lineno"> 709</span> {</div> +<div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#acc1ca998134e63de44e77f0a371973af"> 710</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="l00711"></a><span class="lineno"> 711</span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> _contentType)</div> +<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  : <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3">writer</a>(_writer),</div> +<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <a class="code" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e">contentType</a>(_contentType),</div> +<div class="line"><a name="l00714"></a><span class="lineno"> 714</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="l00715"></a><span class="lineno"> 715</span> </div> -<div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834"> 716</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="l00717"></a><span class="lineno"> 717</span>  {</div> -<div class="line"><a name="l00718"></a><span class="lineno"> 718</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="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"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2"> 721</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="l00722"></a><span class="lineno"> 722</span> <span class="keyword"> </span>{</div> -<div class="line"><a name="l00723"></a><span class="lineno"> 723</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="l00724"></a><span class="lineno"> 724</span>  }</div> -<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div> -<div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3"> 726</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="l00727"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e"> 727</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="l00728"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8"> 728</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="l00729"></a><span class="lineno"> 729</span> };</div> -<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div> -<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div> -<div class="line"><a name="l00732"></a><span class="lineno"> 732</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="l00733"></a><span class="lineno"> 733</span> </div> +<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// Converts the message to an Event before sending.</span></div> +<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div> +<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ad0773acb50a9d74589dc050ee9bc3f9b"> 718</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="l00719"></a><span class="lineno"> 719</span>  {</div> +<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="comment">// We need to evolve the internal 'message' into a</span></div> +<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="comment">// 'v1::executor::Event'.</span></div> +<div class="line"><a name="l00722"></a><span class="lineno"> 722</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="l00723"></a><span class="lineno"> 723</span>  }</div> +<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div> +<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a6bd61956671fa0cab784ac1eb0d2b834"> 725</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="l00726"></a><span class="lineno"> 726</span>  {</div> +<div class="line"><a name="l00727"></a><span class="lineno"> 727</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="l00728"></a><span class="lineno"> 728</span>  }</div> +<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div> +<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a75cfb254a95f8aece262b57137442ad2"> 730</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="l00731"></a><span class="lineno"> 731</span> <span class="keyword"> </span>{</div> +<div class="line"><a name="l00732"></a><span class="lineno"> 732</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="l00733"></a><span class="lineno"> 733</span>  }</div> <div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div> -<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">// Information describing an executor.</span></div> -<div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html"> 736</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="l00737"></a><span class="lineno"> 737</span> {</div> -<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keyword">public</span>:</div> -<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(</div> -<div class="line"><a name="l00740"></a><span class="lineno"> 740</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="l00741"></a><span class="lineno"> 741</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div> -<div class="line"><a name="l00742"></a><span class="lineno"> 742</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="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> ContainerID& containerId,</div> -<div class="line"><a name="l00744"></a><span class="lineno"> 744</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="l00745"></a><span class="lineno"> 745</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="l00746"></a><span class="lineno"> 746</span>  <span class="keywordtype">bool</span> checkpoint);</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>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a87195f2f07ffa5b1f9519ed3540e872f">~Executor</a>();</div> -<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div> -<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="comment">// Note that these tasks will also be tracked within `queuedTasks`.</span></div> -<div class="line"><a name="l00751"></a><span class="lineno"> 751</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="l00752"></a><span class="lineno"> 752</span> </div> -<div class="line"><a name="l00753"></a><span class="lineno"> 753</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="l00754"></a><span class="lineno"> 754</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="l00755"></a><span class="lineno"> 755</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="l00756"></a><span class="lineno"> 756</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="l00757"></a><span class="lineno"> 757</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="l00758"></a><span class="lineno"> 758</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="l00759"></a><span class="lineno"> 759</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="l00760"></a><span class="lineno"> 760</span> </div> -<div class="line"><a name="l00761"></a><span class="lineno"> 761</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="l00762"></a><span class="lineno"> 762</span> </div> -<div class="line"><a name="l00763"></a><span class="lineno"> 763</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="l00764"></a><span class="lineno"> 764</span> </div> -<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">// Returns true if there are any queued/launched/terminated tasks.</span></div> -<div class="line"><a name="l00766"></a><span class="lineno"> 766</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="l00767"></a><span class="lineno"> 767</span> </div> -<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="comment">// Sends a message to the connected executor.</span></div> -<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div> -<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43"> 770</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="l00771"></a><span class="lineno"> 771</span>  {</div> -<div class="line"><a name="l00772"></a><span class="lineno"> 772</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="l00773"></a><span class="lineno"> 773</span>  LOG(WARNING) << <span class="stringliteral">"Attempting to send message to disconnected"</span></div> -<div class="line"><a name="l00774"></a><span class="lineno"> 774</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="l00775"></a><span class="lineno"> 775</span>  }</div> +<div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#a0c59d0ff74737a01a33ae18f76525ed3"> 735</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="l00736"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#aa56f337e2e9a40afbcae740883f7342e"> 736</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="l00737"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1slave_1_1HttpConnection.html#ac9014eb387ce40f4b7803c14b37da8f8"> 737</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="l00738"></a><span class="lineno"> 738</span> };</div> +<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </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> 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="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"> 744</span> <span class="comment">// Information describing an executor.</span></div> +<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html"> 745</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="l00746"></a><span class="lineno"> 746</span> {</div> +<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a2743c0fdfd1c12f467e85e628a779114">Executor</a>(</div> +<div class="line"><a name="l00749"></a><span class="lineno"> 749</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="l00750"></a><span class="lineno"> 750</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div> +<div class="line"><a name="l00751"></a><span class="lineno"> 751</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="l00752"></a><span class="lineno"> 752</span>  <span class="keyword">const</span> ContainerID& containerId,</div> +<div class="line"><a name="l00753"></a><span class="lineno"> 753</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="l00754"></a><span class="lineno"> 754</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="l00755"></a><span class="lineno"> 755</span>  <span class="keywordtype">bool</span> checkpoint);</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>  <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a87195f2f07ffa5b1f9519ed3540e872f">~Executor</a>();</div> +<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div> +<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="comment">// Note that these tasks will also be tracked within `queuedTasks`.</span></div> +<div class="line"><a name="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</span> </div> +<div class="line"><a name="l00762"></a><span class="lineno"> 762</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="l00763"></a><span class="lineno"> 763</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="l00764"></a><span class="lineno"> 764</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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</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="l00767"></a><span class="lineno"> 767</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="l00768"></a><span class="lineno"> 768</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="l00769"></a><span class="lineno"> 769</span> </div> +<div class="line"><a name="l00770"></a><span class="lineno"> 770</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="l00771"></a><span class="lineno"> 771</span> </div> +<div class="line"><a name="l00772"></a><span class="lineno"> 772</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="l00773"></a><span class="lineno"> 773</span> </div> +<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="comment">// Returns true if there are any queued/launched/terminated tasks.</span></div> +<div class="line"><a name="l00775"></a><span class="lineno"> 775</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="l00776"></a><span class="lineno"> 776</span> </div> -<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">if</span> (http.isSome()) {</div> -<div class="line"><a name="l00778"></a><span class="lineno"> 778</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="l00779"></a><span class="lineno"> 779</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div> -<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  << <span class="stringliteral">": connection closed"</span>;</div> -<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  }</div> -<div class="line"><a name="l00782"></a><span class="lineno"> 782</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="l00783"></a><span class="lineno"> 783</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="l00784"></a><span class="lineno"> 784</span>  } <span class="keywordflow">else</span> {</div> -<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div> -<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  << <span class="stringliteral">": unknown connection type"</span>;</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>  }</div> -<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div> -<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="comment">// Returns true if this is a command executor.</span></div> -<div class="line"><a name="l00791"></a><span class="lineno"> 791</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="l00792"></a><span class="lineno"> 792</span> </div> -<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="comment">// Closes the HTTP connection.</span></div> -<div class="line"><a name="l00794"></a><span class="lineno"> 794</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="l00795"></a><span class="lineno"> 795</span> </div> -<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="comment">// Returns the task group associated with the task.</span></div> -<div class="line"><a name="l00797"></a><span class="lineno"> 797</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="l00777"></a><span class="lineno"> 777</span>  <span class="comment">// Sends a message to the connected executor.</span></div> +<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> Message></div> +<div class="line"><a name="l00779"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6088e2d4d0160d0cdaf8674c46d91c43"> 779</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="l00780"></a><span class="lineno"> 780</span>  {</div> +<div class="line"><a name="l00781"></a><span class="lineno"> 781</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="l00782"></a><span class="lineno"> 782</span>  LOG(WARNING) << <span class="stringliteral">"Attempting to send message to disconnected"</span></div> +<div class="line"><a name="l00783"></a><span class="lineno"> 783</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="l00784"></a><span class="lineno"> 784</span>  }</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>  <span class="keywordflow">if</span> (http.isSome()) {</div> +<div class="line"><a name="l00787"></a><span class="lineno"> 787</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="l00788"></a><span class="lineno"> 788</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div> +<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  << <span class="stringliteral">": connection closed"</span>;</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="keywordflow">else</span> <span class="keywordflow">if</span> (pid.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div> +<div class="line"><a name="l00792"></a><span class="lineno"> 792</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="l00793"></a><span class="lineno"> 793</span>  } <span class="keywordflow">else</span> {</div> +<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  LOG(WARNING) << <span class="stringliteral">"Unable to send event to executor "</span> << *<span class="keyword">this</span></div> +<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  << <span class="stringliteral">": unknown connection type"</span>;</div> +<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  }</div> +<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  }</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>  <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="l00800"></a><span class="lineno"> 800</span> </div> -<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0"> 801</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="l00802"></a><span class="lineno"> 802</span>  {</div> -<div class="line"><a name="l00803"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"> 803</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="l00804"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683"> 804</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="l00805"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920"> 805</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="l00806"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75"> 806</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="l00807"></a><span class="lineno"> 807</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div> -<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div> -<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods</span></div> -<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment">// variables. One could imagine 'Executor' as being an inner class</span></div> -<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment">// of the 'Slave' class.</span></div> -<div class="line"><a name="l00812"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818"> 812</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="l00813"></a><span class="lineno"> 813</span> </div> -<div class="line"><a name="l00814"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea"> 814</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="l00815"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856"> 815</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="l00816"></a><span class="lineno"> 816</span> </div> -<div class="line"><a name="l00817"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a34bfb0214dd593dcbf1ad4fa398a417c"> 817</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="l00818"></a><span class="lineno"> 818</span> </div> -<div class="line"><a name="l00819"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc"> 819</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="l00820"></a><span class="lineno"> 820</span> </div> -<div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aabe86347ab1d23297172813dc5d1c8f5"> 821</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="l00799"></a><span class="lineno"> 799</span>  <span class="comment">// Returns true if this is a command executor.</span></div> +<div class="line"><a name="l00800"></a><span class="lineno"> 800</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="l00801"></a><span class="lineno"> 801</span> </div> +<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="comment">// Closes the HTTP connection.</span></div> +<div class="line"><a name="l00803"></a><span class="lineno"> 803</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="l00804"></a><span class="lineno"> 804</span> </div> +<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="comment">// Returns the task group associated with the task.</span></div> +<div class="line"><a name="l00806"></a><span class="lineno"> 806</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="l00807"></a><span class="lineno"> 807</span> </div> +<div class="line"><a name="l00808"></a><span class="lineno"> 808</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="l00809"></a><span class="lineno"> 809</span> </div> +<div class="line"><a name="l00810"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0"> 810</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="l00811"></a><span class="lineno"> 811</span>  {</div> +<div class="line"><a name="l00812"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a47f27688eed5f4b7b8fae1fe60e35d0d"> 812</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="l00813"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0a1485da27f38622c47c16abf8c1491683"> 813</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="l00814"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ab536b2fae4842fc2c6e24905f142c920"> 814</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="l00815"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a3b2abbbd9f9e9ca5c08b75329ac426c0ada3a926bc25ef3c7e060789f52aacd75"> 815</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="l00816"></a><span class="lineno"> 816</span>  } <a class="code" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a27e0e6e088c0fd88a0c7f679c964c409">state</a>;</div> +<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div> +<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="comment">// We store the pointer to 'Slave' to get access to its methods</span></div> +<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="comment">// variables. One could imagine 'Executor' as being an inner class</span></div> +<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment">// of the 'Slave' class.</span></div> +<div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#addd8f0d655f9d03ad6bc594c4d476818"> 821</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="l00822"></a><span class="lineno"> 822</span> </div> -<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="comment">// The sandbox will be owned by this user and the executor will</span></div> -<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="comment">// run as this user. This can be set to None when --switch_user</span></div> -<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="comment">// is false or when compiled for Windows.</span></div> -<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aed6f0c1093840e82b6e920164be9df74"> 826</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="l00823"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a9037a16ee390fa0893f1229aca4e33ea"> 823</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="l00824"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#a6d93343a7cac0e8f5398e4d55a19c856"> 824</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="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#a34bfb0214dd593dcbf1ad4fa398a417c"> 826</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="l00827"></a><span class="lineno"> 827</span> </div> -<div class="line"><a name="l00828"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#ab05d451e6d84e8da41ac5b156cb7a79f"> 828</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="l00828"></a><span class="lineno"><a class="line" href="classmesos_1_1internal_1_1slave_1_1Executor.html#aaad02226a9d30491088dd9ef315effbc"> 828</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="l00829"></a><span class="lineno"> 829</span> </div> -<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="comment">// An Executor can either be connected via HTTP or by libprocess</span></div> -<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="comment">// message passing. The following are the possible states:</span></div> -<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="comment">//</span></div> -<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="comment">// Agent State Executor State http pid Executor Type</span></div> -<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="comment">// ----------- -------------- ---- ---- -------------</span></div> -<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <span class="comment">// RECOVERING REGISTERING None UPID() Unknown</span></div> -<div class="line"><a name="l00836"></a><span class="
<TRUNCATED>