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>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</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>&#160;  <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&amp; registry);</div>
 <div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div>
-<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  <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>&#160;  <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>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div>
 <div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;      RegisterSlaveMessage&amp;&amp; registerSlaveMessage,</div>
-<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; principal,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal,</div>
 <div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
 <div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div>
 <div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  <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>&#160;      RegisterSlaveMessage&amp;&amp; registerSlaveMessage,</div>
 <div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; admit);</div>
 <div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div>
-<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;  <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>&#160;  <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>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; pid,</div>
 <div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;      ReregisterSlaveMessage&amp;&amp; incomingMessage,</div>
-<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; principal,</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal,</div>
 <div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
 <div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div>
 <div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  <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>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo);</div>
 <div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div>
-<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <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>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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&lt;std::string&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;</div>
-<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;  <span class="comment">// Returns whether the task is authorized.</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;  <span class="comment">// Returns failure for transient authorization failures.</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;      <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>&#160;</div>
-<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Reserve&amp; reserve,</div>
-<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div>
-<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Unreserve&amp; unreserve,</div>
-<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
-<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Create&amp; <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>,</div>
-<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div>
-<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Destroy&amp; <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>,</div>
-<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;</div>
-<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// (if not already running).</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;  <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&amp; 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>&#160;</div>
-<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;  <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>&#160;  <span class="comment">// terminal.</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;  <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&amp; update);</div>
-<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div>
-<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// backwards compatibility.</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;  <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>&#160;</div>
-<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;  <span class="comment">// Remove an executor and recover its resources.</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  <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>&#160;      <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>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
-<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div>
-<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;</div>
-<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;  <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>&#160;  <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>&#160;      <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>&#160;      <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>&#160;      <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>&#160;</div>
-<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// but no resources are converted.</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;  <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>&#160;      <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>&#160;      <span class="keyword">const</span> UpdateOperationStatusMessage&amp; update,</div>
-<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;      <span class="keywordtype">bool</span> convertResources = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <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>&#160;  <span class="comment">// and whether the `SlaveInfo` is authorized.</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> SlaveInfo&amp; slaveInfo,</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;  <span class="comment">// Returns whether the task is authorized.</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  <span class="comment">// Returns failure for transient authorization failures.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;      <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>&#160;</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Reserve&amp; reserve,</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;  <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>&#160;  <span class="comment">// the specified `resources`.</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; resources,</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Unreserve&amp; unreserve,</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Create&amp; <a class="code" href="namespacecgroups.html#a2ecc89636706df947027a4c3c2100fbe">create</a>,</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</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>&#160;      <span class="keyword">const</span> Offer::Operation::Destroy&amp; <a class="code" href="namespacecgroups.html#aff40863260825f6176d8195102a0a47f">destroy</a>,</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// (if not already running).</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;  <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&amp; 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>&#160;</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;  <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>&#160;  <span class="comment">// terminal.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  <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&amp; update);</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// backwards compatibility.</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;  <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>&#160;</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;  <span class="comment">// Remove an executor and recover its resources.</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;  <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>&#160;      <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>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;  <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>&#160;  <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>&#160;      <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>&#160;      <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>&#160;      <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>&#160;</div>
-<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;  <span class="comment">// Remove the operation.</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;  <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>&#160;</div>
-<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;  <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>&#160;  <span class="comment">// If successful, updates the slave&#39;s resources, sends a</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;  <span class="comment">// &#39;CheckpointResourcesMessage&#39; to the slave with the updated</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;  <span class="comment">// checkpointed resources, and returns a &#39;Future&#39; with &#39;Nothing&#39;.</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;  <span class="comment">// Otherwise, no action is taken and returns a failed &#39;Future&#39;.</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</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>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operation);</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;  <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>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// but no resources are converted.</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;  <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>&#160;      <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>&#160;      <span class="keyword">const</span> UpdateOperationStatusMessage&amp; update,</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;      <span class="keywordtype">bool</span> convertResources = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;  <span class="comment">// Remove the operation.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;  <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>&#160;</div>
-<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;  <span class="comment">// Forwards the update to the framework.</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;  <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>&#160;      <span class="keyword">const</span> StatusUpdate&amp; update,</div>
-<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; acknowledgee,</div>
-<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;      <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>&#160;</div>
-<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;  <span class="comment">// Remove an offer after specified timeout</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;  <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&amp; offerId);</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;  <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>&#160;  <span class="comment">// If successful, updates the slave&#39;s resources, sends a</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;  <span class="comment">// &#39;CheckpointResourcesMessage&#39; to the slave with the updated</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;  <span class="comment">// checkpointed resources, and returns a &#39;Future&#39; with &#39;Nothing&#39;.</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;  <span class="comment">// Otherwise, no action is taken and returns a failed &#39;Future&#39;.</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Nothing&gt;</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>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operation);</div>
 <div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div>
-<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;  <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>&#160;  <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>&#160;</div>
-<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;  <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&amp; inverseOfferId);</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;  <span class="comment">// Forwards the update to the framework.</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  <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>&#160;      <span class="keyword">const</span> StatusUpdate&amp; update,</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; acknowledgee,</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;      <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>&#160;</div>
-<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;  <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>&#160;  <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>&#160;  <span class="comment">// Remove an offer after specified timeout</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  <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&amp; offerId);</div>
 <div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;</div>
-<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  <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&amp; frameworkId);</div>
-<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;</div>
-<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;  <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&amp; frameworkId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID&amp; offerId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID&amp; inverseOfferId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  <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>&#160;  <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>&#160;</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  <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&amp; inverseOfferId);</div>
 <div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;</div>
-<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  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>&#160;  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>&#160;  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>&#160;</div>
-<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  <span class="comment">// Updates the agent&#39;s resources by applying the given operation.</span></div>
-<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  <span class="comment">// Sends either `ApplyOperationMessage` or</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  <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>&#160;  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  <span class="keywordtype">void</span> _apply(</div>
-<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <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>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operationInfo);</div>
-<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;</div>
-<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
-<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call,</div>
-<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;</div>
-<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  <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>&#160;  <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>&#160;</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  <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&amp; frameworkId);</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  <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&amp; frameworkId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID&amp; offerId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID&amp; inverseOfferId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  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>&#160;  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>&#160;  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>&#160;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;  <span class="comment">// Updates the agent&#39;s resources by applying the given operation.</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  <span class="comment">// Sends either `ApplyOperationMessage` or</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  <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>&#160;  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;  <span class="keywordtype">void</span> _apply(</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;      <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>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operation,</div>
-<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;</div>
-<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call,</div>
-<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;</div>
-<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Suppress&amp; suppress,</div>
-<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;</div>
-<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Revive&amp; revive,</div>
-<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;</div>
-<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;  <span class="comment">// Call handlers.</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;  <span class="keywordtype">void</span> receive(</div>
-<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
-<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call);</div>
-<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div>
-<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operationInfo);</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call,</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>&amp; operation,</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;      <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>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call,</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Suppress&amp; suppress,</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Revive&amp; revive,</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
 <div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;</div>
-<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;      <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>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;      <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
-<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
-<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;</div>
-<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
-<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
-<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;</div>
-<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
-<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;      <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
-<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
-<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;</div>
-<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  <span class="comment">// Subscribes a client to the &#39;api/vX&#39; endpoint.</span></div>
-<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; http,</div>
-<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
-<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;</div>
-<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;  <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>&#160;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;  <span class="keywordtype">void</span> accept(</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;      <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>&#160;      scheduler::Call::Accept accept);</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;  <span class="keywordtype">void</span> _accept(</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; offeredResources,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;      <span class="keyword">const</span> scheduler::Call::Accept&amp; accept,</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&gt;&gt;&amp; authorizations);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;  <span class="keywordtype">void</span> acceptInverseOffers(</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers&amp; accept);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;  <span class="keywordtype">void</span> decline(</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Decline&amp; decline);</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;  <span class="keywordtype">void</span> declineInverseOffers(</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers&amp; decline);</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;  <span class="keywordtype">void</span> revive(</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Revive&amp; revive);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;  <span class="keywordtype">void</span> kill(</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Kill&amp; kill);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;  <span class="keywordtype">void</span> shutdown(</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Shutdown&amp; shutdown);</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;  <span class="keywordtype">void</span> acknowledge(</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Acknowledge&amp; acknowledge);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;  <span class="keywordtype">void</span> acknowledgeOperationStatus(</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::AcknowledgeOperationStatus&amp; acknowledge);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;  <span class="keywordtype">void</span> reconcile(</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Reconcile&amp; reconcile);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;  <span class="keywordtype">void</span> reconcileOperations(</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::ReconcileOperations&amp; reconcile);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;  <span class="keywordtype">void</span> message(</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Message&amp; message);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;  <span class="keywordtype">void</span> request(</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Request&amp; request);</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;  <span class="keywordtype">void</span> suppress(</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Suppress&amp; suppress);</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;  <span class="keywordtype">bool</span> elected()<span class="keyword"> const</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="keyword">  </span>{</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;    <span class="keywordflow">return</span> leader.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() &amp;&amp; leader.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() == info_;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;  }</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;  <span class="comment">// Call handlers.</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;  <span class="keywordtype">void</span> receive(</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp; call);</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;      <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>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;      <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from,</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;      <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; authorized);</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;  <span class="comment">// Subscribes a client to the &#39;api/vX&#39; endpoint.</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;      <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; http,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp; principal);</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;  <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>&#160;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;  <span class="keywordtype">void</span> accept(</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;      <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>&#160;      scheduler::Call::Accept accept);</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;  <span class="keywordtype">void</span> _accept(</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;      <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>&amp; offeredResources,</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;      <span class="keyword">const</span> scheduler::Call::Accept&amp; accept,</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a>&lt;<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&gt;&gt;&amp; authorizations);</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;  <span class="keywordtype">void</span> acceptInverseOffers(</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers&amp; accept);</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;  <span class="keywordtype">void</span> decline(</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Decline&amp; decline);</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;  <span class="keywordtype">void</span> declineInverseOffers(</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers&amp; decline);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;  <span class="keywordtype">void</span> revive(</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Revive&amp; revive);</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;  <span class="keywordtype">void</span> kill(</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Kill&amp; kill);</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;  <span class="keywordtype">void</span> shutdown(</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Shutdown&amp; shutdown);</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;  <span class="keywordtype">void</span> acknowledge(</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Acknowledge&amp; acknowledge);</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;  <span class="keywordtype">void</span> acknowledgeOperationStatus(</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::AcknowledgeOperationStatus&amp; acknowledge);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;  <span class="keywordtype">void</span> reconcile(</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Reconcile&amp; reconcile);</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;  <span class="keywordtype">void</span> reconcileOperations(</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::ReconcileOperations&amp; reconcile);</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;  <span class="keywordtype">void</span> message(</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Message&amp; message);</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;  <span class="keywordtype">void</span> request(</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Request&amp; request);</div>
 <div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;  <span class="keywordtype">void</span> scheduleRegistryGc();</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;  <span class="keywordtype">void</span> doRegistryGc();</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;  <span class="keywordtype">void</span> suppress(</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;      <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>&#160;      <span class="keyword">const</span> scheduler::Call::Suppress&amp; suppress);</div>
 <div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;  <span class="keywordtype">void</span> _doRegistryGc(</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;      <span class="keyword">const</span> 

<TRUNCATED>