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/11/29 23:39:30 UTC
[2/3] mesos-site git commit: Updated the website built from mesos
SHA: 9d0cadc.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/733670dd/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 aeabfdd..76711ec 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -863,2113 +863,2116 @@
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="comment">// terminal.</span></div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#afb50f46fa9a7c640505e19f2d2136f4b">updateTask</a>(Task* task, <span class="keyword">const</span> StatusUpdate& update);</div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">// Removes the task.</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a0771cec561a66be88cc0443dd571e487">removeTask</a>(Task* task);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="comment">// Remove an executor and recover its resources.</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22c33d6eb4a0d89677c6c014324d6670">removeExecutor</a>(</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keyword">const</span> ExecutorID& executorId);</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <span class="comment">// Adds the given offer operation to the framework and the agent.</span></div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <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="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  OfferOperation* operation);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="comment">// Transitions the offer operation, and recovers resources if the</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="comment">// offer operation becomes terminal.</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <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="l00898"></a><span class="lineno"> 898</span>  OfferOperation* operation,</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="keyword">const</span> OfferOperationStatusUpdate& update);</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="comment">// Remove the offer operation.</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <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="l00880"></a><span class="lineno"> 880</span>  <span class="comment">// Removes the task. `unreachable` indicates whether the task is removed due</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">// to being unreachable. Note that we cannot rely on the task state because</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="comment">// it may not reflect unreachability due to being set to TASK_LOST for</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="comment">// backwards compatibility.</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22774b62c9986cd2b18ce56c5c4a177e">removeTask</a>(Task* task, <span class="keywordtype">bool</span> unreachable = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div>
+<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="comment">// Remove an executor and recover its resources.</span></div>
+<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a22c33d6eb4a0d89677c6c014324d6670">removeExecutor</a>(</div>
+<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
+<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keyword">const</span> ExecutorID& executorId);</div>
+<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="comment">// Adds the given offer operation to the framework and the agent.</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <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="l00894"></a><span class="lineno"> 894</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  OfferOperation* operation);</div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="comment">// Transitions the offer operation, and recovers resources if the</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="comment">// offer operation becomes terminal.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a70246d422a8a4609c7bc74ab2d082b8f">updateOfferOperation</a>(</div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  OfferOperation* operation,</div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="keyword">const</span> OfferOperationStatusUpdate& update);</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment">// Attempts to update the allocator by applying the given operation.</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment">// If successful, updates the slave's resources, sends a</span></div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment">// 'CheckpointResourcesMessage' to the slave with the updated</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="comment">// checkpointed resources, and returns a 'Future' with 'Nothing'.</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">// Otherwise, no action is taken and returns a failed 'Future'.</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4c1d22d45625587227f8dd12ee21c6db">apply</a>(</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="comment">// Forwards the update to the framework.</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a879105430a69dad6986d348cf47348a1">forward</a>(</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keyword">const</span> StatusUpdate& update,</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& acknowledgee,</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="comment">// Remove an offer after specified timeout</span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af0a2cc7f6e412270d8049d8ee8c18fb1">offerTimeout</a>(<span class="keyword">const</span> OfferID& offerId);</div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment">// Remove the offer operation.</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <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="l00906"></a><span class="lineno"> 906</span> </div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="comment">// Attempts to update the allocator by applying the given operation.</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment">// If successful, updates the slave's resources, sends a</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment">// 'CheckpointResourcesMessage' to the slave with the updated</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="comment">// checkpointed resources, and returns a 'Future' with 'Nothing'.</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">// Otherwise, no action is taken and returns a failed 'Future'.</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<Nothing></a> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4c1d22d45625587227f8dd12ee21c6db">apply</a>(</div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
+<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
+<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="comment">// Forwards the update to the framework.</span></div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a879105430a69dad6986d348cf47348a1">forward</a>(</div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keyword">const</span> StatusUpdate& update,</div>
+<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& acknowledgee,</div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="comment">// Remove an offer and optionally rescind the offer as well.</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a58c5b558f390db608257a39361f5b4ef">removeOffer</a>(Offer* offer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="comment">// Remove an offer after specified timeout</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af0a2cc7f6e412270d8049d8ee8c18fb1">offerTimeout</a>(<span class="keyword">const</span> OfferID& offerId);</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab3b08c310b38fab6b4ad8d3666abf60b">inverseOfferTimeout</a>(<span class="keyword">const</span> OfferID& inverseOfferId);</div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="comment">// Remove an offer and optionally rescind the offer as well.</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a58c5b558f390db608257a39361f5b4ef">removeOffer</a>(Offer* offer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="comment">// Remove an inverse offer and optionally rescind it as well.</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a077f836136559b7d1846fe3c1edb2a60">removeInverseOffer</a>(InverseOffer* inverseOffer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="comment">// Remove an inverse offer after specified timeout</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ab3b08c310b38fab6b4ad8d3666abf60b">inverseOfferTimeout</a>(<span class="keyword">const</span> OfferID& inverseOfferId);</div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#adce7ba676c4f3bd04f892b8958fba3c4">isCompletedFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId);</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa539a7813ecbcb146ae6d62e5f5ac74f">getFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID& offerId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID& inverseOfferId) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  FrameworkID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ee609877b1309ae57fcd4ba4ba7e798">newFrameworkId</a>();</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  OfferID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af6a3cda747e1f310296c51d05831dc34">newOfferId</a>();</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  SlaveID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ae5fdaed6ff563268774b24b1d6813f67">newSlaveId</a>();</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="comment">// Updates the agent's resources by applying the given operation.</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="comment">// Sends either `ApplyOfferOperationMessage` or</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="comment">// resources) to the agent depending on if the agent has</span></div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordtype">void</span> _apply(</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation,</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress,</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> </div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordtype">void</span> drop(</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive,</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keyword">const</span> std::string& message);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="comment">// Call handlers.</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keywordtype">void</span> receive(</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordtype">void</span> _subscribe(</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordtype">bool</span> force,</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="comment">// Subscribes a client to the 'api/vX' endpoint.</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keywordtype">void</span> subscribe(</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>& http,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keywordtype">void</span> teardown(<a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordtype">void</span> accept(</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  scheduler::Call::Accept accept);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keywordtype">void</span> _accept(</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  <span class="keyword">const</span> SlaveID& slaveId,</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& offeredResources,</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keyword">const</span> scheduler::Call::Accept& accept,</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a><<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a><<a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>>>& authorizations);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> </div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keywordtype">void</span> acceptInverseOffers(</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <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>  <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers& accept);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keywordtype">void</span> decline(</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <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>  <span class="keyword">const</span> scheduler::Call::Decline& decline);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="keywordtype">void</span> declineInverseOffers(</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <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>  <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers& decline);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordtype">void</span> revive(</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <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>  <span class="keyword">const</span> scheduler::Call::Revive& revive);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="keywordtype">void</span> kill(</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <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>  <span class="keyword">const</span> scheduler::Call::Kill& kill);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="keywordtype">void</span> shutdown(</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <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>  <span class="keyword">const</span> scheduler::Call::Shutdown& shutdown);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="keywordtype">void</span> acknowledge(</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  <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>  <span class="keyword">const</span> scheduler::Call::Acknowledge& acknowledge);</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordtype">void</span> acknowledgeOfferOperationUpdate(</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <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>  <span class="keyword">const</span> scheduler::Call::AcknowledgeOfferOperationUpdate& acknowledge);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <span class="keywordtype">void</span> reconcile(</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <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>  <span class="keyword">const</span> scheduler::Call::Reconcile& reconcile);</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <span class="keywordtype">void</span> reconcileOfferOperations(</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <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>  <span class="keyword">const</span> scheduler::Call::ReconcileOfferOperations& reconcile);</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  <span class="keywordtype">void</span> message(</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  <span class="keyword">const</span> scheduler::Call::Message& message);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <span class="keywordtype">void</span> request(</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keyword">const</span> scheduler::Call::Request& request);</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordtype">void</span> suppress(</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress);</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  <span class="keywordtype">bool</span> elected()<span class="keyword"> const</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keyword"> </span>{</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordflow">return</span> leader.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() && leader.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() == info_;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  }</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keywordtype">void</span> scheduleRegistryGc();</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keywordtype">void</span> doRegistryGc();</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keywordtype">void</span> _doRegistryGc(</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<SlaveID></a>& toRemoveUnreachable,</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<SlaveID></a>& toRemoveGone,</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& registrarResult);</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> authorizeLogAccess(</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="comment">// Remove an inverse offer and optionally rescind it as well.</span></div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordtype">void</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a077f836136559b7d1846fe3c1edb2a60">removeInverseOffer</a>(InverseOffer* inverseOffer, <span class="keywordtype">bool</span> rescind = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordtype">bool</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#adce7ba676c4f3bd04f892b8958fba3c4">isCompletedFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId);</div>
+<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aa539a7813ecbcb146ae6d62e5f5ac74f">getFramework</a>(<span class="keyword">const</span> FrameworkID& frameworkId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  Offer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a5063c2bcba26123ecf78bc12e34a11db">getOffer</a>(<span class="keyword">const</span> OfferID& offerId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  InverseOffer* <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ac4b2c667417a7d3e7ce189fa3d76723b">getInverseOffer</a>(<span class="keyword">const</span> OfferID& inverseOfferId) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  FrameworkID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a4ee609877b1309ae57fcd4ba4ba7e798">newFrameworkId</a>();</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  OfferID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#af6a3cda747e1f310296c51d05831dc34">newOfferId</a>();</div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  SlaveID <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#ae5fdaed6ff563268774b24b1d6813f67">newSlaveId</a>();</div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="comment">// Updates the agent's resources by applying the given operation.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="comment">// Sends either `ApplyOfferOperationMessage` or</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="comment">// `CheckpointResourcesMessage` (with updated checkpointed</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <span class="comment">// resources) to the agent depending on if the agent has</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="comment">// `RESOURCE_PROVIDER` capability.</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <span class="keywordtype">void</span> _apply(</div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>* slave,</div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation);</div>
+<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
+<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Offer::Operation</a>& operation,</div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div>
+<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call,</div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> </div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress,</div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordtype">void</span> drop(</div>
+<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive,</div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keyword">const</span> std::string& message);</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <span class="comment">// Call handlers.</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keywordtype">void</span> receive(</div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>& call);</div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> http,</div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keyword">const</span> scheduler::Call::Subscribe& subscribe);</div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordtype">void</span> _subscribe(</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>& from,</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keyword">const</span> FrameworkInfo& frameworkInfo,</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <span class="keywordtype">bool</span> force,</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="keyword">const</span> std::set<std::string>& suppressedRoles,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& authorized);</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> </div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="comment">// Subscribes a client to the 'api/vX' endpoint.</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keywordtype">void</span> subscribe(</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>& http,</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <span class="keywordtype">void</span> teardown(<a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework);</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="keywordtype">void</span> accept(</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <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>  scheduler::Call::Accept accept);</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keywordtype">void</span> _accept(</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keyword">const</span> FrameworkID& frameworkId,</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keyword">const</span> SlaveID& slaveId,</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keyword">const</span> <a class="code" href="classmesos_1_1Resources.html">Resources</a>& offeredResources,</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keyword">const</span> scheduler::Call::Accept& accept,</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future</a><<a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a><<a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>>>& authorizations);</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <span class="keywordtype">void</span> acceptInverseOffers(</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="keyword">const</span> scheduler::Call::AcceptInverseOffers& accept);</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="keywordtype">void</span> decline(</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keyword">const</span> scheduler::Call::Decline& decline);</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="keywordtype">void</span> declineInverseOffers(</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keyword">const</span> scheduler::Call::DeclineInverseOffers& decline);</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordtype">void</span> revive(</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="keyword">const</span> scheduler::Call::Revive& revive);</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="keywordtype">void</span> kill(</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="keyword">const</span> scheduler::Call::Kill& kill);</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="keywordtype">void</span> shutdown(</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  <span class="keyword">const</span> scheduler::Call::Shutdown& shutdown);</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="keywordtype">void</span> acknowledge(</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keyword">const</span> scheduler::Call::Acknowledge& acknowledge);</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keywordtype">void</span> acknowledgeOfferOperationUpdate(</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keyword">const</span> scheduler::Call::AcknowledgeOfferOperationUpdate& acknowledge);</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> </div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <span class="keywordtype">void</span> reconcile(</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <span class="keyword">const</span> scheduler::Call::Reconcile& reconcile);</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> </div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <span class="keywordtype">void</span> reconcileOfferOperations(</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <span class="keyword">const</span> scheduler::Call::ReconcileOfferOperations& reconcile);</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> </div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keywordtype">void</span> message(</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <span class="keyword">const</span> scheduler::Call::Message& message);</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <span class="keywordtype">void</span> request(</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keyword">const</span> scheduler::Call::Request& request);</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keywordtype">void</span> suppress(</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>* framework,</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keyword">const</span> scheduler::Call::Suppress& suppress);</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="keywordtype">bool</span> elected()<span class="keyword"> const</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="keyword"> </span>{</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keywordflow">return</span> leader.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>() && leader.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() == info_;</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  }</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keywordtype">void</span> scheduleRegistryGc();</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordtype">void</span> doRegistryGc();</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keywordtype">void</span> _doRegistryGc(</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<SlaveID></a>& toRemoveUnreachable,</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keyword">const</span> <a class="code" href="classhashset.html">hashset<SlaveID></a>& toRemoveGone,</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a>& registrarResult);</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  <span class="keywordtype">bool</span> isWhitelistedRole(<span class="keyword">const</span> std::string& name) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> isRemovable(<span class="keyword">const</span> TaskState& state)</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  {</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  <span class="keywordflow">if</span> (state == TASK_UNREACHABLE) {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <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="l01114"></a><span class="lineno"> 1114</span>  }</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> authorizeLogAccess(</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal);</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  <span class="keywordtype">bool</span> isWhitelistedRole(<span class="keyword">const</span> std::string& name) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> </div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> isRemovable(<span class="keyword">const</span> TaskState& state)</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  {</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keywordflow">if</span> (state == TASK_UNREACHABLE) {</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  }</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keyword">class </span>QuotaHandler</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  {</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <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="l01127"></a><span class="lineno"> 1127</span>  {</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  CHECK_NOTNULL(master);</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  }</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  <span class="comment">// Returns a list of set quotas.</span></div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>(</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>& call,</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal,</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <a class="code" href="namespacemesos.html#a13035ce0cc66cca4a467787b4716039e">ContentType</a> contentType) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <a class="code" href="namespaceproc.html#a34396c6140a28f583dc13fee3c3c35d4">status</a>(</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>& request,</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>&</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <a class="code" href="namespacerouting_1_1link_1_1internal.html#abfdfc99e016fe858117fa1767cef2be0">set</a>(</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>& call,</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>&</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> </div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <a class="code" href="namespacerouting_1_1link_1_1internal.html#abfdfc99e016fe858117fa1767cef2be0">set</a>(</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>& request,</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>&</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <span class="keyword">remove</span>(</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">mesos::master::Call</a>& call,</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>&</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<process::http::Response></a> <span class="keyword">remove</span>(</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">process::http::Request</a>& <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>&</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  principal) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> </div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  <span class="comment">// Heuristically tries to determine whether a quota request could</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  <span class="comment">// reasonably be satisfied given the current cluster capacity. The</span></div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  <span class="comment">// goal is to determine whether a user may accidentally request an</span></div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="comment">// amount of resources that would prevent frameworks without quota</span></div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  <span class="comment">// from getting any offers. A force flag will allow users to bypass</span></div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="comment">// this check.</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  <span class="comment">// The heuristic tests whether the total quota, including the new</span></div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <span class="comment">// request, does not exceed the sum of non-static cluster resources,</span></div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  <span class="comment">// i.e. the following inequality holds:</span></div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  <span class="comment">// total - statically reserved >= total quota + quota request</span></div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  <span class="comment">// Please be advised that:</span></div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  <span class="comment">// * It is up to an allocator how to satisfy quota (for example,</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  <span class="comment">// what resources to account towards quota, as well as which</span></div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  <span class="comment">// resources to consider allocatable for quota).</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>  <span class="comment">// * Even if there are enough resources at the moment of this check,</span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="comment">// agents may terminate at any time, rendering the cluster under</span></div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  <span class="comment">// quota.</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <a class="code" href="classOption.html">Option<Error></a> capacityHeuristic(</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  <span class="keyword">const</span> mesos::quota::QuotaInfo& request) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  <span class="comment">// We always want to rescind offers after the capacity heuristic. The</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="comment">// reason for this is the race between the allocator and the master:</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="comment">// it can happen that there are not enough free resources at the</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  <span class="comment">// allocator's disposal when it is notified about the quota request,</span></div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="comment">// but at this point it's too late to rescind.</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="comment">// While rescinding, we adhere to the following rules:</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="comment">// * Rescind at least as many resources as there are in the quota request.</span></div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <span class="comment">// * Rescind all offers from an agent in order to make the potential</span></div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  <span class="comment">// offer bigger, which increases the chances that a quota'ed framework</span></div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="comment">// will be able to use the offer.</span></div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <span class="comment">// * Rescind offers from at least `numF` agents to make it possible</span></div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  <span class="comment">// (but not guaranteed, due to fair sharing) that each framework in</span></div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  <span class="comment">// the role for which quota is set gets an offer (`numF` is the</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  <span class="comment">// number of frameworks in the quota'ed role). Though this is not</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  <span class="comment">// strictly necessary, we think this will increase the debugability</span></div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <span class="comment">// and will improve user experience.</span></div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <span class="comment">//</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  <span class="comment">// TODO(alexr): Consider removing this function once offer management</span></div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  <span class="comment">// (including rescinding) is moved to allocator.</span></div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  <span class="keywordtype">void</span> rescindOffers(<span class="keyword">const</span> mesos::quota::QuotaInfo& request) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> authorizeGetQuota(</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option<process::http::authentication::Principal></a>& principal,</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  <span class="keyword">const</span> mesos::quota::QuotaInfo& <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="l01210"></a><span class="lineno"> 1210</span> </div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  <a class="code" href="classprocess_1_1Future.html">process::Future<bool></a> authorizeUpdateQuota(</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <s
<TRUNCATED>