You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2017/12/08 00:36:50 UTC

[2/6] mesos-site git commit: Updated the website built from mesos SHA: 54e03f3.

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/74493460/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 69fea61..3e2e05d 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -762,2153 +762,2152 @@
 <div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a78a367a4a073a58bb5244e168a68b3b4">deactivate</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave);</div>
 <div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div>
 <div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  <span class="comment">// Add a slave.</span></div>
-<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a81baa4cbfa16799be0bb4dc021ae38bb">addSlave</a>(</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a37ea4b60e1a9f33fb5e47a7fcf7481df">addSlave</a>(</div>
 <div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;      <span class="keyword">const</span> std::vector&lt;Archive::Framework&gt;&amp; completedFrameworks =</div>
-<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        std::vector&lt;Archive::Framework&gt;());</div>
-<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div>
-<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5038d7ad957dcba27b25ce70a99f11eb">_markUnreachable</a>(</div>
-<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;      <span class="keyword">const</span> TimeInfo&amp; unreachableTime,</div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;      <span class="keyword">const</span> std::string&amp; message,</div>
-<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; registrarResult);</div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div>
-<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;  <span class="comment">// Mark a slave as unreachable in the registry. Called when the slave</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;  <span class="comment">// does not re-register in time after a master failover.</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;  <a class="code" href="structNothing.html">Nothing</a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a58ede481ab173072469a1122b9777703">markUnreachableAfterFailover</a>(<span class="keyword">const</span> SlaveInfo&amp; slave);</div>
-<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;</div>
-<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a9adffb94c23fb3a18de92e7b113ce0dd">_markUnreachableAfterFailover</a>(</div>
-<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      <span class="keyword">const</span> SlaveInfo&amp; slaveInfo,</div>
-<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keyword">const</span> TimeInfo&amp; unreachableTime,</div>
-<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; registrarResult);</div>
-<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;</div>
-<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac06fd896b2bfa469445780728279e5cd">sendSlaveLost</a>(<span class="keyword">const</span> SlaveInfo&amp; slaveInfo);</div>
-<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;</div>
-<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;  <span class="comment">// Remove the slave from the registrar and from the master&#39;s state.</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;  <span class="comment">// TODO(bmahler): &#39;reason&#39; is optional until MESOS-2317 is resolved.</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5d8be0eddccff3542156d3499570f04b">removeSlave</a>(</div>
-<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;      <span class="keyword">const</span> std::string&amp; message,</div>
-<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;      <a class="code" href="classOption.html">Option&lt;process::metrics::Counter&gt;</a> reason = <a class="code" href="structNone.html">None</a>());</div>
-<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div>
-<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ce208687ecf654ebd24406ceb99c3d2">_removeSlave</a>(</div>
-<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; registrarResult,</div>
-<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;      <span class="keyword">const</span> std::string&amp; removalCause,</div>
-<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;      <a class="code" href="classOption.html">Option&lt;process::metrics::Counter&gt;</a> reason = <a class="code" href="structNone.html">None</a>());</div>
-<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;</div>
-<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a7e69bade1f48cf7ff9245e4624d51be7">__removeSlave</a>(</div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;      <span class="keyword">const</span> std::string&amp; message,</div>
-<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;TimeInfo&gt;</a>&amp; unreachableTime);</div>
-<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div>
-<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  <span class="comment">// Validates that the framework is authenticated, if required.</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  <a class="code" href="classOption.html">Option&lt;Error&gt;</a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a9a526495e4fb02447a99ce99b8342ae9">validateFrameworkAuthentication</a>(</div>
-<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l00755"></a><span class="lineno">  755</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="l00756"></a><span class="lineno">  756</span>&#160;</div>
-<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;  <span class="comment">// Returns whether the framework is authorized.</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  <span class="comment">// Returns failure for transient authorization failures.</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno">  759</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="l00760"></a><span class="lineno">  760</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo);</div>
-<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div>
-<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;  <span class="comment">// Returns whether the principal is authorized to (re-)register an agent.</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno">  763</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="l00764"></a><span class="lineno">  764</span>&#160;</div>
-<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;  <span class="comment">// Returns whether the task is authorized.</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;  <span class="comment">// Returns failure for transient authorization failures.</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</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="l00768"></a><span class="lineno">  768</span>&#160;      <span class="keyword">const</span> TaskInfo&amp; task,</div>
-<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;</div>
-<div class="line"><a name="l00788"></a><span class="lineno">  788</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="l00789"></a><span class="lineno">  789</span>&#160;      <span class="keyword">const</span> Offer::Operation::Reserve&amp; reserve,</div>
-<div class="line"><a name="l00790"></a><span class="lineno">  790</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="l00791"></a><span class="lineno">  791</span>&#160;</div>
-<div class="line"><a name="l00809"></a><span class="lineno">  809</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="l00810"></a><span class="lineno">  810</span>&#160;      <span class="keyword">const</span> Offer::Operation::Unreserve&amp; unreserve,</div>
-<div class="line"><a name="l00811"></a><span class="lineno">  811</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="l00812"></a><span class="lineno">  812</span>&#160;</div>
-<div class="line"><a name="l00830"></a><span class="lineno">  830</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="l00831"></a><span class="lineno">  831</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="l00832"></a><span class="lineno">  832</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="l00833"></a><span class="lineno">  833</span>&#160;</div>
-<div class="line"><a name="l00851"></a><span class="lineno">  851</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="l00852"></a><span class="lineno">  852</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="l00853"></a><span class="lineno">  853</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="l00854"></a><span class="lineno">  854</span>&#160;</div>
-<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;  <span class="comment">// Add the task and its executor (if not already running) to the</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;  <span class="comment">// framework and slave. Returns the resources consumed as a result,</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;  <span class="comment">// which includes resources for the task and its executor</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;  <span class="comment">// (if not already running).</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno">  859</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="l00860"></a><span class="lineno">  860</span>&#160;</div>
-<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;  <span class="comment">// Transitions the task, and recovers resources if the task becomes</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;  <span class="comment">// terminal.</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno">  863</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="l00864"></a><span class="lineno">  864</span>&#160;</div>
-<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;  <span class="comment">// Removes the task. `unreachable` indicates whether the task is removed due</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno">  866</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="l00867"></a><span class="lineno">  867</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="l00868"></a><span class="lineno">  868</span>&#160;  <span class="comment">// backwards compatibility.</span></div>
-<div class="line"><a name="l00869"></a><span class="lineno">  869</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="l00870"></a><span class="lineno">  870</span>&#160;</div>
-<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;  <span class="comment">// Remove an executor and recover its resources.</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno">  872</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="l00873"></a><span class="lineno">  873</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
-<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <span class="keyword">const</span> ExecutorID&amp; executorId);</div>
-<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;</div>
-<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;  <span class="comment">// Adds the given offer operation to the framework and the agent.</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab78dff189ae13b01cd17eeec60df5de3">addOfferOperation</a>(</div>
-<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</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;      OfferOperation* operation);</div>
-<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;</div>
-<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;  <span class="comment">// Transitions the offer operation, and recovers resources if the</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;  <span class="comment">// offer operation becomes terminal.</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#a70246d422a8a4609c7bc74ab2d082b8f">updateOfferOperation</a>(</div>
-<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;      OfferOperation* operation,</div>
-<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;      <span class="keyword">const</span> OfferOperationStatusUpdate&amp; update);</div>
-<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div>
-<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;  <span class="comment">// Remove the offer operation.</span></div>
-<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a2855777fbc7be44857de577774b043f8">removeOfferOperation</a>(OfferOperation* operation);</div>
-<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;</div>
-<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;  <span class="comment">// Attempts to update the allocator by applying the given operation.</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;  <span class="comment">// If successful, updates the slave&#39;s resources, sends a</span></div>
-<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;  <span class="comment">// &#39;CheckpointResourcesMessage&#39; to the slave with the updated</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;  <span class="comment">// checkpointed resources, and returns a &#39;Future&#39; with &#39;Nothing&#39;.</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;  <span class="comment">// Otherwise, no action is taken and returns a failed &#39;Future&#39;.</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno">  897</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="l00898"></a><span class="lineno">  898</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00899"></a><span class="lineno">  899</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="l00900"></a><span class="lineno">  900</span>&#160;</div>
-<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;  <span class="comment">// Forwards the update to the framework.</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno">  902</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="l00903"></a><span class="lineno">  903</span>&#160;      <span class="keyword">const</span> StatusUpdate&amp; update,</div>
-<div class="line"><a name="l00904"></a><span class="lineno">  904</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="l00905"></a><span class="lineno">  905</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;</div>
-<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;  <span class="comment">// Remove an offer after specified timeout</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno">  908</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="l00909"></a><span class="lineno">  909</span>&#160;</div>
-<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;  <span class="comment">// Remove an offer and optionally rescind the offer as well.</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno">  911</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="l00912"></a><span class="lineno">  912</span>&#160;</div>
-<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno">  914</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="l00915"></a><span class="lineno">  915</span>&#160;</div>
-<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;  <span class="comment">// Remove an inverse offer and optionally rescind it as well.</span></div>
-<div class="line"><a name="l00917"></a><span class="lineno">  917</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="l00918"></a><span class="lineno">  918</span>&#160;</div>
-<div class="line"><a name="l00919"></a><span class="lineno">  919</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="l00920"></a><span class="lineno">  920</span>&#160;</div>
-<div class="line"><a name="l00921"></a><span class="lineno">  921</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="l00922"></a><span class="lineno">  922</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="l00923"></a><span class="lineno">  923</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="l00924"></a><span class="lineno">  924</span>&#160;</div>
-<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  FrameworkID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ee609877b1309ae57fcd4ba4ba7e798">newFrameworkId</a>();</div>
-<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  OfferID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af6a3cda747e1f310296c51d05831dc34">newOfferId</a>();</div>
-<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  SlaveID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ae5fdaed6ff563268774b24b1d6813f67">newSlaveId</a>();</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="keyword">private</span>:</div>
-<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;  <span class="comment">// Updates the agent&#39;s resources by applying the given operation.</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  <span class="comment">// Sends either `ApplyOfferOperationMessage` or</span></div>
-<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  <span class="comment">// resources) to the agent depending on if the agent has</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  <span class="keywordtype">void</span> _apply(</div>
-<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00938"></a><span class="lineno">  938</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="l00939"></a><span class="lineno">  939</span>&#160;</div>
-<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00941"></a><span class="lineno">  941</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="l00942"></a><span class="lineno">  942</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="l00943"></a><span class="lineno">  943</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</div>
-<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;</div>
-<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00947"></a><span class="lineno">  947</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="l00948"></a><span class="lineno">  948</span>&#160;      <span class="keyword">const</span> std::string&amp; message);</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;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</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> scheduler::Call::Suppress&amp; suppress,</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> scheduler::Call::Revive&amp; revive,</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="comment">// Call handlers.</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;  <span class="keywordtype">void</span> receive(</div>
-<div class="line"><a name="l00967"></a><span class="lineno">  967</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="l00968"></a><span class="lineno">  968</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="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> subscribe(</div>
-<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
-<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;</div>
-<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;      <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
-<div class="line"><a name="l00979"></a><span class="lineno">  979</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="l00980"></a><span class="lineno">  980</span>&#160;</div>
-<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00982"></a><span class="lineno">  982</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="l00983"></a><span class="lineno">  983</span>&#160;      <span class="keyword">const</span> scheduler::Call::Subscribe&amp; subscribe);</div>
-<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</div>
-<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00986"></a><span class="lineno">  986</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="l00987"></a><span class="lineno">  987</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;      <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;      <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; suppressedRoles,</div>
-<div class="line"><a name="l00990"></a><span class="lineno">  990</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="l00991"></a><span class="lineno">  991</span>&#160;</div>
-<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;  <span class="comment">// Subscribes a client to the &#39;api/vX&#39; endpoint.</span></div>
-<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00994"></a><span class="lineno">  994</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="l00995"></a><span class="lineno">  995</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="l00996"></a><span class="lineno">  996</span>&#160;</div>
-<div class="line"><a name="l00997"></a><span class="lineno">  997</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="l00998"></a><span class="lineno">  998</span>&#160;</div>
-<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;  <span class="keywordtype">void</span> accept(</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;      scheduler::Call::Accept accept);</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;  <span class="keywordtype">void</span> _accept(</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;      <span class="keyword">const</span> FrameworkID&amp; frameworkId,</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;      <span class="keyword">const</span> SlaveID&amp; slaveId,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</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="l01007"></a><span class="lineno"> 1007</span>&#160;      <span class="keyword">const</span> scheduler::Call::Accept&amp; accept,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</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="l01009"></a><span class="lineno"> 1009</span>&#160;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;  <span class="keywordtype">void</span> acceptInverseOffers(</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;      <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers&amp; accept);</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;  <span class="keywordtype">void</span> decline(</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;      <span class="keyword">const</span> scheduler::Call::Decline&amp; decline);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;  <span class="keywordtype">void</span> declineInverseOffers(</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;      <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers&amp; decline);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;  <span class="keywordtype">void</span> revive(</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;      <span class="keyword">const</span> scheduler::Call::Revive&amp; revive);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;  <span class="keywordtype">void</span> kill(</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;      <span class="keyword">const</span> scheduler::Call::Kill&amp; kill);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;  <span class="keywordtype">void</span> shutdown(</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;      <span class="keyword">const</span> scheduler::Call::Shutdown&amp; shutdown);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;  <span class="keywordtype">void</span> acknowledge(</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;      <span class="keyword">const</span> scheduler::Call::Acknowledge&amp; acknowledge);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;  <span class="keywordtype">void</span> acknowledgeOfferOperationUpdate(</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;      <span class="keyword">const</span> scheduler::Call::AcknowledgeOfferOperationUpdate&amp; acknowledge);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;  <span class="keywordtype">void</span> reconcile(</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;      <span class="keyword">const</span> scheduler::Call::Reconcile&amp; reconcile);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;  <span class="keywordtype">void</span> reconcileOfferOperations(</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;      <span class="keyword">const</span> scheduler::Call::ReconcileOfferOperations&amp; reconcile);</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;  <span class="keywordtype">void</span> message(</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;      <span class="keyword">const</span> scheduler::Call::Message&amp; message);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;  <span class="keywordtype">void</span> request(</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;      <span class="keyword">const</span> scheduler::Call::Request&amp; request);</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;  <span class="keywordtype">void</span> suppress(</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;      <span class="keyword">const</span> scheduler::Call::Suppress&amp; suppress);</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;  <span class="keywordtype">bool</span> elected()<span class="keyword"> const</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="keyword">  </span>{</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</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="l01065"></a><span class="lineno"> 1065</span>&#160;  }</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;  <span class="keywordtype">void</span> scheduleRegistryGc();</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;  <span class="keywordtype">void</span> doRegistryGc();</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;  <span class="keywordtype">void</span> _doRegistryGc(</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;SlaveID&gt;</a>&amp; toRemoveUnreachable,</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset&lt;SlaveID&gt;</a>&amp; toRemoveGone,</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;      <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a>&amp; registrarResult);</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> authorizeLogAccess(</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</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="l01078"></a><span class="lineno"> 1078</span>&#160;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;  <span class="keywordtype">bool</span> isWhitelistedRole(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> isRemovable(<span class="keyword">const</span> TaskState&amp; state)</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;  {</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    <span class="keywordflow">if</span> (state == TASK_UNREACHABLE) {</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;    }</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacemesos_1_1internal_1_1protobuf.html#aa31907fb62769822a77c06ffbf10451f">protobuf::isTerminalState</a>(state);</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;  }</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;  <span class="keyword">class </span>QuotaHandler</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;  {</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    <span class="keyword">explicit</span> QuotaHandler(<a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a111451890cbc49fc403168624c536d7a">Master</a>* _master) : master(_master)</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;    {</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;      CHECK_NOTNULL(master);</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;    }</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    <span class="comment">// Returns a list of set quotas.</span></div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>(</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;        <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>&amp; call,</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</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="l01123"></a><span class="lineno"> 1123</span>&#160;        <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> contentType) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>(</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; request,</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespacerouting_1_1link_1_1internal.html#abfdfc99e016fe858117fa1767cef2be0">set</a>(</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;        <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>&amp; call,</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespacerouting_1_1link_1_1internal.html#abfdfc99e016fe858117fa1767cef2be0">set</a>(</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; request,</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <span class="keyword">remove</span>(</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;        <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>&amp; call,</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <span class="keyword">remove</span>(</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;    <span class="comment">// Heuristically tries to determine whether a quota request could</span></div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    <span class="comment">// reasonably be satisfied given the current cluster capacity. The</span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;    <span class="comment">// goal is to determine whether a user may accidentally request an</span></div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;    <span class="comment">// amount of resources that would prevent frameworks without quota</span></div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;    <span class="comment">// from getting any offers. A force flag will allow users to bypass</span></div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;    <span class="comment">// this check.</span></div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;    <span class="comment">//</span></div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;    <span class="comment">// The heuristic tests whether the total quota, including the new</span></div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;    <span class="comment">// request, does not exceed the sum of non-static cluster resources,</span></div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;    <span class="comment">// i.e. the following inequality holds:</span></div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;    <span class="comment">//   total - statically reserved &gt;= total quota + quota request</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;    <span class="comment">//</span></div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;    <span class="comment">// Please be advised that:</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;    <span class="comment">//   * It is up to an allocator how to satisfy quota (for example,</span></div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;    <span class="comment">//     what resources to account towards quota, as well as which</span></div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;    <span class="comment">//     resources to consider allocatable for quota).</span></div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;    <span class="comment">//   * Even if there are enough resources at the moment of this check,</span></div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;    <span class="comment">//     agents may terminate at any time, rendering the cluster under</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;    <span class="comment">//     quota.</span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;    <a class="code" href="classOption.html">Option&lt;Error&gt;</a> capacityHeuristic(</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;        <span class="keyword">const</span> mesos::quota::QuotaInfo&amp; request) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;    <span class="comment">// We always want to rescind offers after the capacity heuristic. The</span></div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;    <span class="comment">// reason for this is the race between the allocator and the master:</span></div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    <span class="comment">// it can happen that there are not enough free resources at the</span></div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;    <span class="comment">// allocator&#39;s disposal when it is notified about the quota request,</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;    <span class="comment">// but at this point it&#39;s too late to rescind.</span></div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;    <span class="comment">//</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    <span class="comment">// While rescinding, we adhere to the following rules:</span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;    <span class="comment">//   * Rescind at least as many resources as there are in the quota request.</span></div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;    <span class="comment">//   * Rescind all offers from an agent in order to make the potential</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;    <span class="comment">//     offer bigger, which increases the chances that a quota&#39;ed framework</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;    <span class="comment">//     will be able to use the offer.</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;    <span class="comment">//   * Rescind offers from at least `numF` agents to make it possible</span></div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;    <span class="comment">//     (but not guaranteed, due to fair sharing) that each framework in</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;    <span class="comment">//     the role for which quota is set gets an offer (`numF` is the</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;    <span class="comment">//     number of frameworks in the quota&#39;ed role). Though this is not</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;    <span class="comment">//     strictly necessary, we think this will increase the debugability</span></div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;    <span class="comment">//     and will improve user experience.</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;    <span class="comment">//</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;    <span class="comment">// TODO(alexr): Consider removing this function once offer management</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;    <span class="comment">// (including rescinding) is moved to allocator.</span></div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;    <span class="keywordtype">void</span> rescindOffers(<span class="keyword">const</span> mesos::quota::QuotaInfo&amp; request) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> authorizeGetQuota(</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</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="l01197"></a><span class="lineno"> 1197</span>&#160;        <span class="keyword">const</span> mesos::quota::QuotaInfo&amp; <a class="code" href="namespacemesos_1_1internal_1_1master_1_1quota_1_1validation.html#aad54bc50e16c357a2aabb232448226c5">quotaInfo</a>) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> authorizeUpdateQuota(</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</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="l01201"></a><span class="lineno"> 1201</span>&#160;        <span class="keyword">const</span> mesos::quota::QuotaInfo&amp; <a class="code" href="namespacemesos_1_1internal_1_1master_1_1quota_1_1validation.html#aad54bc50e16c357a2aabb232448226c5">quotaInfo</a>) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;mesos::quota::QuotaStatus&gt;</a> _status(</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> _set(</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;        <span class="keyword">const</span> mesos::quota::QuotaRequest&amp; quotaRequest,</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> __set(</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;        <span class="keyword">const</span> mesos::quota::QuotaInfo&amp; <a class="code" href="namespacemesos_1_1internal_1_1master_1_1quota_1_1validation.html#aad54bc50e16c357a2aabb232448226c5">quotaInfo</a>,</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;        <span class="keywordtype">bool</span> forced) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> _remove(</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;        <span class="keyword">const</span> std::string&amp; role,</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> __remove(</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;        <span class="keyword">const</span> std::string&amp; role) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="comment">// To perform actions related to quota management, we require access to the</span></div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <span class="comment">// master data structures. No synchronization primitives are needed here</span></div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;    <span class="comment">// since `QuotaHandler`&#39;s functions are invoked in the Master&#39;s actor.</span></div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a111451890cbc49fc403168624c536d7a">Master</a>* master;</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;  };</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;  <span class="keyword">class </span>WeightsHandler</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;  {</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;    <span class="keyword">explicit</span> WeightsHandler(<a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a111451890cbc49fc403168624c536d7a">Master</a>* _master) : master(_master)</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;    {</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;      CHECK_NOTNULL(master);</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;    }</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <span class="keyword">get</span>(</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <span class="keyword">get</span>(</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;        <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>&amp; call,</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</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="l01253"></a><span class="lineno"> 1253</span>&#160;        <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> contentType) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; request,</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> <a class="code" href="namespacerouting_1_1filter_1_1basic.html#a088d88712e011acb0673da92045b365b">update</a>(</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;        <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>&amp; call,</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</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="l01263"></a><span class="lineno"> 1263</span>&#160;        <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> contentType) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> authorizeGetWeight(</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</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="l01268"></a><span class="lineno"> 1268</span>&#160;        <span class="keyword">const</span> WeightInfo&amp; weight) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;bool&gt;</a> authorizeUpdateWeights(</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</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="l01272"></a><span class="lineno"> 1272</span>&#160;        <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; roles) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::vector&lt;WeightInfo&gt;</a>&gt; _filterWeights(</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;        <span class="keyword">const</span> std::vector&lt;WeightInfo&gt;&amp; weightInfos,</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;        <span class="keyword">const</span> std::list&lt;bool&gt;&amp; roleAuthorizations) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;std::vector&lt;WeightInfo&gt;</a>&gt; _getWeights(</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a>_updateWeights(</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</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="l01284"></a><span class="lineno"> 1284</span>&#160;        <span class="keyword">const</span> google::protobuf::RepeatedPtrField&lt;WeightInfo&gt;&amp; weightInfos)</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;            <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> __updateWeights(</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;        <span class="keyword">const</span> std::vector&lt;WeightInfo&gt;&amp; weightInfos) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;    <span class="comment">// Rescind all outstanding offers if any of the &#39;weightInfos&#39; roles has</span></div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;    <span class="comment">// an active framework.</span></div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;    <span class="keywordtype">void</span> rescindOffers(<span class="keyword">const</span> std::vector&lt;WeightInfo&gt;&amp; weightInfos) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;    <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a111451890cbc49fc403168624c536d7a">Master</a>* master;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;  };</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;  <span class="comment">// Inner class used to namespace HTTP route handlers (see</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;  <span class="comment">// master/http.cpp for implementations).</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;  <span class="keyword">class </span>Http</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;  {</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;    <span class="keyword">explicit</span> Http(<a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a111451890cbc49fc403168624c536d7a">Master</a>* _master) : master(_master),</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;                                     quotaHandler(_master),</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;                                     weightsHandler(_master) {}</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;    <span class="comment">// /api/v1</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> api(</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; request,</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a>&amp;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;            principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;    <span class="comment">// /api/v1/scheduler</span></div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;    <a class="code" href="classprocess_1_1Future.html">process::Future&lt;process::http::Response&gt;</a> scheduler(</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;        <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>&amp; request,</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;        <span class="keyword">const</span> <a class="code" href="classOption.html">O

<TRUNCATED>