You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/01/17 20:26:54 UTC
[2/5] mesos-site git commit: Updated the website built from mesos
SHA: 24a746d.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/87a6c28b/content/api/latest/c++/src_2master_2master_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2master_2master_8hpp_source.html b/content/api/latest/c++/src_2master_2master_8hpp_source.html
index 497b7a5..7737c44 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -655,10 +655,10 @@
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ad984209e10f925712335d99bed0b9c5b">recover</a>();</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab609269957c32b5138b3bfc61194a789">recoveredSlavesTimeout</a>(<span class="keyword">const</span> Registry& registry);</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>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a9c2800b091218dbc9eafc17b89d95f0d">_registerSlave</a>(</div>
+<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a085ab6071ae10fe61c336b74e9c343f6">_registerSlave</a>(</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& pid,</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  RegisterSlaveMessage&& registerSlaveMessage,</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<std::string></a>& principal,</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal,</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</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="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a8064a4974504539c3cf39db9bdb8b1d5">__registerSlave</a>(</div>
@@ -666,10 +666,10 @@
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  RegisterSlaveMessage&& registerSlaveMessage,</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& admit);</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>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a7bf4163064cf0438eebefb7b189e3679">_reregisterSlave</a>(</div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a2aa0b089a921828d3bbcf6c26dd4c8d0">_reregisterSlave</a>(</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& pid,</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  ReregisterSlaveMessage&& incomingMessage,</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<std::string></a>& principal,</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal,</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22310f05b4fa59324ae6a0765a47b232">__reregisterSlave</a>(</div>
@@ -811,2094 +811,2103 @@
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a2e681b1f2c827a85d66a207cfdedf5c3">authorizeFramework</a>(</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo);</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="comment">// Returns whether the principal is authorized to (re-)register an agent.</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#abee05638f24ebc607a9781d850be71e3">authorizeSlave</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option<std::string></a>& principal);</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>  <span class="comment">// Returns whether the task is authorized.</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="comment">// Returns failure for transient authorization failures.</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aee6c20e5ab98744a50a2cb783af6b686">authorizeTask</a>(</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keyword">const</span> TaskInfo& task,</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a8f93a0393834d9fd050d377a888b6c20">authorizeReserveResources</a>(</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keyword">const</span> Offer::Operation::Reserve& reserve,</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac31e639ba318a471042191879e298d02">authorizeUnreserveResources</a>(</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="keyword">const</span> Offer::Operation::Unreserve& unreserve,</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa1fe52f23dc233b02c1fecc9555ea06f">authorizeCreateVolume</a>(</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keyword">const</span> Offer::Operation::Create& <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>,</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a1f6fc4cb3e2558265ece532b23279c20">authorizeDestroyVolume</a>(</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keyword">const</span> Offer::Operation::Destroy& <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>,</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="comment">// Add the task and its executor (if not already running) to the</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <span class="comment">// framework and slave. Returns the resources consumed as a result,</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="comment">// which includes resources for the task and its executor</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="comment">// (if not already running).</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a9e5df43b0cd4c9beaf9091fdd4659593">addTask</a>(<span class="keyword">const</span> TaskInfo& task, <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework, <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="comment">// Transitions the task, and recovers resources if the task becomes</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="comment">// terminal.</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#afb50f46fa9a7c640505e19f2d2136f4b">updateTask</a>(Task* task, <span class="keyword">const</span> StatusUpdate& update);</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment">// Removes the task. `unreachable` indicates whether the task is removed due</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="comment">// to being unreachable. Note that we cannot rely on the task state because</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="comment">// it may not reflect unreachability due to being set to TASK_LOST for</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="comment">// backwards compatibility.</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22774b62c9986cd2b18ce56c5c4a177e">removeTask</a>(Task* task, <span class="keywordtype">bool</span> unreachable = <span class="keyword">false</span>);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="comment">// Remove an executor and recover its resources.</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22c33d6eb4a0d89677c6c014324d6670">removeExecutor</a>(</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keyword">const</span> ExecutorID& executorId);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="comment">// Adds the given operation to the framework and the agent.</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a59b6969a9d0e2cb80cf3372b643591ae">addOperation</a>(</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">// Transitions the operation, and updates and recovers resources if</span></div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="comment">// the operation becomes terminal. If `convertResources` is `false`</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="comment">// only the consumed resources of terminal operations are recovered,</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="comment">// but no resources are converted.</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#abc0530c946de160553bf05a3ae5e422f">updateOperation</a>(</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation,</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keyword">const</span> UpdateOperationStatusMessage& update,</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordtype">bool</span> convertResources = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="comment">// Returns whether the principal is authorized to (re-)register an agent</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="comment">// and whether the `SlaveInfo` is authorized.</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aff57a0b753c79b8e71fdadb3739f60c3">authorizeSlave</a>(</div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keyword">const</span> SlaveInfo& slaveInfo,</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</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">// Returns whether the task is authorized.</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="comment">// Returns failure for transient authorization failures.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aee6c20e5ab98744a50a2cb783af6b686">authorizeTask</a>(</div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keyword">const</span> TaskInfo& task,</div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a8f93a0393834d9fd050d377a888b6c20">authorizeReserveResources</a>(</div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keyword">const</span> Offer::Operation::Reserve& reserve,</div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</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">// Authorizes whether the provided `principal` is allowed to reserve</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="comment">// the specified `resources`.</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a8f93a0393834d9fd050d377a888b6c20">authorizeReserveResources</a>(</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& resources,</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac31e639ba318a471042191879e298d02">authorizeUnreserveResources</a>(</div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="keyword">const</span> Offer::Operation::Unreserve& unreserve,</div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa1fe52f23dc233b02c1fecc9555ea06f">authorizeCreateVolume</a>(</div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keyword">const</span> Offer::Operation::Create& <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>,</div>
+<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
+<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a1f6fc4cb3e2558265ece532b23279c20">authorizeDestroyVolume</a>(</div>
+<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keyword">const</span> Offer::Operation::Destroy& <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>,</div>
+<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment">// Add the task and its executor (if not already running) to the</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment">// framework and slave. Returns the resources consumed as a result,</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="comment">// which includes resources for the task and its executor</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="comment">// (if not already running).</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <a class="code" href="classmesos_1_1Resources.html">Resources</a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a9e5df43b0cd4c9beaf9091fdd4659593">addTask</a>(<span class="keyword">const</span> TaskInfo& task, <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework, <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave);</div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
+<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="comment">// Transitions the task, and recovers resources if the task becomes</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="comment">// terminal.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#afb50f46fa9a7c640505e19f2d2136f4b">updateTask</a>(Task* task, <span class="keyword">const</span> StatusUpdate& update);</div>
+<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
+<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment">// Removes the task. `unreachable` indicates whether the task is removed due</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="comment">// to being unreachable. Note that we cannot rely on the task state because</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="comment">// it may not reflect unreachability due to being set to TASK_LOST for</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="comment">// backwards compatibility.</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22774b62c9986cd2b18ce56c5c4a177e">removeTask</a>(Task* task, <span class="keywordtype">bool</span> unreachable = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> </div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="comment">// Remove an executor and recover its resources.</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22c33d6eb4a0d89677c6c014324d6670">removeExecutor</a>(</div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keyword">const</span> ExecutorID& executorId);</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="comment">// Adds the given operation to the framework and the agent.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a59b6969a9d0e2cb80cf3372b643591ae">addOperation</a>(</div>
+<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="comment">// Remove the operation.</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a659bf023819f2a5c1556330f5719e420">removeOperation</a>(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="comment">// Attempts to update the allocator by applying the given operation.</span></div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="comment">// If successful, updates the slave's resources, sends a</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="comment">// 'CheckpointResourcesMessage' to the slave with the updated</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="comment">// checkpointed resources, and returns a 'Future' with 'Nothing'.</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <span class="comment">// Otherwise, no action is taken and returns a failed 'Future'.</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4c1d22d45625587227f8dd12ee21c6db">apply</a>(</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
+<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="comment">// Transitions the operation, and updates and recovers resources if</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="comment">// the operation becomes terminal. If `convertResources` is `false`</span></div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="comment">// only the consumed resources of terminal operations are recovered,</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="comment">// but no resources are converted.</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#abc0530c946de160553bf05a3ae5e422f">updateOperation</a>(</div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation,</div>
+<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keyword">const</span> UpdateOperationStatusMessage& update,</div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <span class="keywordtype">bool</span> convertResources = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="comment">// Remove the operation.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a659bf023819f2a5c1556330f5719e420">removeOperation</a>(<a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>* operation);</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="comment">// Forwards the update to the framework.</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a879105430a69dad6986d348cf47348a1">forward</a>(</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keyword">const</span> StatusUpdate& update,</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& acknowledgee,</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">// Remove an offer after specified timeout</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af0a2cc7f6e412270d8049d8ee8c18fb1">offerTimeout</a>(<span class="keyword">const</span> OfferID& offerId);</div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="comment">// Attempts to update the allocator by applying the given operation.</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment">// If successful, updates the slave's resources, sends a</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment">// 'CheckpointResourcesMessage' to the slave with the updated</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment">// checkpointed resources, and returns a 'Future' with 'Nothing'.</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment">// Otherwise, no action is taken and returns a failed 'Future'.</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4c1d22d45625587227f8dd12ee21c6db">apply</a>(</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">// Remove an offer and optionally rescind the offer as well.</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a58c5b558f390db608257a39361f5b4ef">removeOffer</a>(Offer* offer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab3b08c310b38fab6b4ad8d3666abf60b">inverseOfferTimeout</a>(<span class="keyword">const</span> OfferID& inverseOfferId);</div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">// Forwards the update to the framework.</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a879105430a69dad6986d348cf47348a1">forward</a>(</div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="keyword">const</span> StatusUpdate& update,</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& acknowledgee,</div>
+<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="comment">// Remove an inverse offer and optionally rescind it as well.</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a077f836136559b7d1846fe3c1edb2a60">removeInverseOffer</a>(InverseOffer* inverseOffer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="comment">// Remove an offer after specified timeout</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af0a2cc7f6e412270d8049d8ee8c18fb1">offerTimeout</a>(<span class="keyword">const</span> OfferID& offerId);</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#adce7ba676c4f3bd04f892b8958fba3c4">isCompletedFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId);</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa539a7813ecbcb146ae6d62e5f5ac74f">getFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID& offerId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID& inverseOfferId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="comment">// Remove an offer and optionally rescind the offer as well.</span></div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a58c5b558f390db608257a39361f5b4ef">removeOffer</a>(Offer* offer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab3b08c310b38fab6b4ad8d3666abf60b">inverseOfferTimeout</a>(<span class="keyword">const</span> OfferID& inverseOfferId);</div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  FrameworkID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ee609877b1309ae57fcd4ba4ba7e798">newFrameworkId</a>();</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  OfferID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af6a3cda747e1f310296c51d05831dc34">newOfferId</a>();</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  SlaveID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ae5fdaed6ff563268774b24b1d6813f67">newSlaveId</a>();</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="comment">// Updates the agent's resources by applying the given operation.</span></div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="comment">// Sends either `ApplyOperationMessage` or</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="comment">// resources) to the agent depending on if the agent has</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordtype">void</span> _apply(</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operationInfo);</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="comment">// Remove an inverse offer and optionally rescind it as well.</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a077f836136559b7d1846fe3c1edb2a60">removeInverseOffer</a>(InverseOffer* inverseOffer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#adce7ba676c4f3bd04f892b8958fba3c4">isCompletedFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId);</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa539a7813ecbcb146ae6d62e5f5ac74f">getFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID& offerId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID& inverseOfferId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
+<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  FrameworkID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ee609877b1309ae57fcd4ba4ba7e798">newFrameworkId</a>();</div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  OfferID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af6a3cda747e1f310296c51d05831dc34">newOfferId</a>();</div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  SlaveID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ae5fdaed6ff563268774b24b1d6813f67">newSlaveId</a>();</div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="comment">// Updates the agent's resources by applying the given operation.</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="comment">// Sends either `ApplyOperationMessage` or</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="comment">// resources) to the agent depending on if the agent has</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="keywordtype">void</span> _apply(</div>
+<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation,</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress,</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive,</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="comment">// Call handlers.</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keywordtype">void</span> receive(</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call);</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
+<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operationInfo);</div>
+<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
+<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation,</div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div>
+<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress,</div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> </div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive,</div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="keyword">const</span> std::string& message);</div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="comment">// Subscribes a client to the 'api/vX' endpoint.</span></div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>& http,</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keywordtype">void</span> teardown(<a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordtype">void</span> accept(</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  scheduler::Call::Accept accept);</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keywordtype">void</span> _accept(</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keyword">const</span> SlaveID& slaveId,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& offeredResources,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keyword">const</span> scheduler::Call::Accept& accept,</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a><<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a><<a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>>>& authorizations);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordtype">void</span> acceptInverseOffers(</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers& accept);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keywordtype">void</span> decline(</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  <span class="keyword">const</span> scheduler::Call::Decline& decline);</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordtype">void</span> declineInverseOffers(</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers& decline);</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keywordtype">void</span> revive(</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> </div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="keywordtype">void</span> kill(</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="keyword">const</span> scheduler::Call::Kill& kill);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keywordtype">void</span> shutdown(</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="keyword">const</span> scheduler::Call::Shutdown& shutdown);</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keywordtype">void</span> acknowledge(</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keyword">const</span> scheduler::Call::Acknowledge& acknowledge);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="keywordtype">void</span> acknowledgeOperationStatus(</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="keyword">const</span> scheduler::Call::AcknowledgeOperationStatus& acknowledge);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="keywordtype">void</span> reconcile(</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="keyword">const</span> scheduler::Call::Reconcile& reconcile);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  <span class="keywordtype">void</span> reconcileOperations(</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="keyword">const</span> scheduler::Call::ReconcileOperations& reconcile);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordtype">void</span> message(</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keyword">const</span> scheduler::Call::Message& message);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keywordtype">void</span> request(</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <span class="keyword">const</span> scheduler::Call::Request& request);</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <span class="keywordtype">void</span> suppress(</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress);</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <span class="keywordtype">bool</span> elected()<span class="keyword"> const</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keyword"> </span>{</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keywordflow">return</span> leader.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() && leader.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() == info_;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  }</div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="comment">// Call handlers.</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <span class="keywordtype">void</span> receive(</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call);</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> </div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> </div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="comment">// Subscribes a client to the 'api/vX' endpoint.</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>& http,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> </div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="keywordtype">void</span> teardown(<a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keywordtype">void</span> accept(</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  scheduler::Call::Accept accept);</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keywordtype">void</span> _accept(</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keyword">const</span> SlaveID& slaveId,</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& offeredResources,</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  <span class="keyword">const</span> scheduler::Call::Accept& accept,</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a><<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a><<a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>>>& authorizations);</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keywordtype">void</span> acceptInverseOffers(</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers& accept);</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordtype">void</span> decline(</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keyword">const</span> scheduler::Call::Decline& decline);</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="keywordtype">void</span> declineInverseOffers(</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers& decline);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordtype">void</span> revive(</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive);</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keywordtype">void</span> kill(</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="keyword">const</span> scheduler::Call::Kill& kill);</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <span class="keywordtype">void</span> shutdown(</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="keyword">const</span> scheduler::Call::Shutdown& shutdown);</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="keywordtype">void</span> acknowledge(</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="keyword">const</span> scheduler::Call::Acknowledge& acknowledge);</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="keywordtype">void</span> acknowledgeOperationStatus(</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keyword">const</span> scheduler::Call::AcknowledgeOperationStatus& acknowledge);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <span class="keywordtype">void</span> reconcile(</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <span class="keyword">const</span> scheduler::Call::Reconcile& reconcile);</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <span class="keywordtype">void</span> reconcileOperations(</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <span class="keyword">const</span> scheduler::Call::ReconcileOperations& reconcile);</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <span class="keywordtype">void</span> message(</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  <span class="keyword">const</span> scheduler::Call::Message& message);</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  <span class="keywordtype">void</span> request(</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <span class="keyword">const</span> scheduler::Call::Request& request);</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keywordtype">void</span> scheduleRegistryGc();</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordtype">void</span> doRegistryGc();</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keywordtype">void</span> suppress(</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress);</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> </div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keywordtype">void</span> _doRegistryGc(</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keyword">const</span>
<TRUNCATED>