http://git-wip-us.apache.org/repos/asf/mesos-site/blob/53f3d240/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 96d9e54..075838c 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -170,7 +170,7 @@
 <div class="line"><a name="l00116"></a><span class="lineno">  
116</span>&#160;</div>
 <div class="line"><a name="l00117"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">  
117</a></span>&#160;<span class="keyword">struct </span><a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a></div>
 <div class="line"><a name="l00118"></a><span class="lineno">  
118</span>&#160;{</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  
119</span>&#160;<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a299d31059b1a422f179f12e2b81c8463">Slave</a>(<a
 class="code" 
href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <span 
class="keyword">const</span> _master,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  
119</span>&#160;<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ad9989edad235edf8dfcb40cb68966469">Slave</a>(<a
 class="code" 
href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <span 
class="keyword">const</span> _master,</div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; 
     SlaveInfo _info,</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; 
       <span class="keyword">const</span> <a class="code" 
href="structprocess_1_1UPID.html">process::UPID</a>&amp; _pid,</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; 
       <span class="keyword">const</span> MachineID&amp; _machineId,</div>
@@ -178,7 +178,7 @@
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; 
       std::vector&lt;SlaveInfo::Capability&gt; _capabilites,</div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; 
       <span class="keyword">const</span> <a class="code" 
href="classprocess_1_1Time.html">process::Time</a>&amp; _registeredTime,</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; 
       std::vector&lt;Resource&gt; _checkpointedResources,</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; 
       <span class="keyword">const</span> <a class="code" 
href="classOption.html">Option&lt;id::UUID&gt;</a>&amp; resourceVersion,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; 
       <span class="keyword">const</span> <a class="code" 
href="classOption.html">Option&lt;UUID&gt;</a>&amp; resourceVersion,</div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; 
       std::vector&lt;ExecutorInfo&gt; executorInfos = 
std::vector&lt;ExecutorInfo&gt;(),</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; 
       std::vector&lt;Task&gt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#af31bd54cf2fd44fd1d95d1c898d6d2c8">tasks</a>
 = std::vector&lt;Task&gt;());</div>
 <div class="line"><a name="l00130"></a><span class="lineno">  
130</span>&#160;</div>
@@ -206,7 +206,7 @@
 <div class="line"><a name="l00152"></a><span class="lineno">  
152</span>&#160;</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; 
 <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#acf415662b1183b6fc5b9a85e5c3bbbbe">removeOperation</a>(<a
 class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 operation);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  
154</span>&#160;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; 
 <a class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a8e6bcddc552f8f4af9671a13fe041b5b">getOperation</a>(<span
 class="keyword">const</span> <a class="code" 
href="structid_1_1UUID.html">id::UUID</a>&amp; uuid) <span 
class="keyword">const</span>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; 
 <a class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a165609c395c72244513e2cc8e103f0a9">getOperation</a>(<span
 class="keyword">const</span> UUID&amp; uuid) <span 
class="keyword">const</span>;</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  
156</span>&#160;</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; 
 <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ac0e0040b54f748b44f56dbaa71e13f06">addOffer</a>(Offer*
 offer);</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  
158</span>&#160;</div>
@@ -230,12 +230,12 @@
 <div class="line"><a name="l00176"></a><span class="lineno">  
176</span>&#160;</div>
 <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; 
 <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ad599a4c248734bd05b36dd994599ab73">apply</a>(<span
 class="keyword">const</span> std::vector&lt;ResourceConversion&gt;&amp; 
conversions);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  
178</span>&#160;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; 
 <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a087a1b1ecdd566388b31089aff7ba7ec">update</a>(</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; 
 <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ac729a9714d67e9552ab8c587acdda8a8">update</a>(</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; 
     <span class="keyword">const</span> SlaveInfo&amp; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#af4ee8827d405d9dcb03107dd04fa22ca">info</a>,</div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; 
     <span class="keyword">const</span> std::string&amp; _version,</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; 
     <span class="keyword">const</span> 
std::vector&lt;SlaveInfo::Capability&gt;&amp; _capabilites,</div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; 
     <span class="keyword">const</span> <a class="code" 
href="classmesos_1_1Resources.html">Resources</a>&amp; 
_checkpointedResources,</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; 
     <span class="keyword">const</span> <a class="code" 
href="classOption.html">Option&lt;id::UUID&gt;</a>&amp; resourceVersion);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; 
     <span class="keyword">const</span> <a class="code" 
href="classOption.html">Option&lt;UUID&gt;</a>&amp; resourceVersion);</div>
 <div class="line"><a name="l00185"></a><span class="lineno">  
185</span>&#160;</div>
 <div class="line"><a name="l00186"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a59f6d83e771ca1dc9bf7f3db88d9339d">
  186</a></span>&#160;  <a class="code" 
href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <span 
class="keyword">const</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a59f6d83e771ca1dc9bf7f3db88d9339d">master</a>;</div>
 <div class="line"><a name="l00187"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a977de92e6e1fb9fa145aec95806be71f">
  187</a></span>&#160;  <span class="keyword">const</span> SlaveID <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a977de92e6e1fb9fa145aec95806be71f">id</a>;</div>
@@ -299,7 +299,7 @@
 <div class="line"><a name="l00245"></a><span class="lineno">  
245</span>&#160;</div>
 <div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160; 
 <span class="comment">// Pending operations or terminal operations that 
have</span></div>
 <div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; 
 <span class="comment">// unacknowledged status updates on this 
agent.</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a640d0b7375333aa4e3fb1c696479d74a">
  248</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;id::UUID, Operation*&gt;</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a640d0b7375333aa4e3fb1c696479d74a">operations</a>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a4810733e4b2c0ff6c35ad5ade573ac75">
  248</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;UUID, Operation*&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a4810733e4b2c0ff6c35ad5ade573ac75">operations</a>;</div>
 <div class="line"><a name="l00249"></a><span class="lineno">  
249</span>&#160;</div>
 <div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160; 
 <span class="comment">// Active offers on this slave.</span></div>
 <div class="line"><a name="l00251"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a9dbf820e6c564c4333f97eaff7136cb1">
  251</a></span>&#160;  <a class="code" 
href="classhashset.html">hashset&lt;Offer*&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a9dbf820e6c564c4333f97eaff7136cb1">offers</a>;</div>
@@ -332,11 +332,11 @@
 <div class="line"><a name="l00278"></a><span class="lineno">  
278</span>&#160;</div>
 <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ace1f060347d268874173bac4c6e0a035">
  279</a></span>&#160;  SlaveObserver* <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ace1f060347d268874173bac4c6e0a035">observer</a>;</div>
 <div class="line"><a name="l00280"></a><span class="lineno">  
280</span>&#160;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a6a709976e522d37096cf8c48d2e3fd72">
  281</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;Option&lt;ResourceProviderID&gt;</a>, <a 
class="code" href="structid_1_1UUID.html">id::UUID</a>&gt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a6a709976e522d37096cf8c48d2e3fd72">resourceVersions</a>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ad763dcc32cd2add5e670ae65c921b622">
  281</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;Option&lt;ResourceProviderID&gt;</a>, 
UUID&gt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ad763dcc32cd2add5e670ae65c921b622">resourceVersions</a>;</div>
 <div class="line"><a name="l00282"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a389358887487cad44e4f4a98ad12b1e9">
  282</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;ResourceProviderID, 
ResourceProviderInfo&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a389358887487cad44e4f4a98ad12b1e9">resourceProviders</a>;</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  
283</span>&#160;</div>
 <div class="line"><a name="l00284"></a><span class="lineno">  
284</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; 
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#a299d31059b1a422f179f12e2b81c8463">Slave</a>(<span
 class="keyword">const</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp;);         
     <span class="comment">// No copying.</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; 
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html#ad9989edad235edf8dfcb40cb68966469">Slave</a>(<span
 class="keyword">const</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp;);         
     <span class="comment">// No copying.</span></div>
 <div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; 
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp; 
operator=(<span class="keyword">const</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Slave.html">Slave</a>&amp;); <span 
class="comment">// No assigning.</span></div>
 <div class="line"><a name="l00287"></a><span class="lineno">  
287</span>&#160;};</div>
 <div class="line"><a name="l00288"></a><span class="lineno">  
288</span>&#160;</div>
@@ -2454,506 +2454,504 @@
 <div class="line"><a name="l02508"></a><span class="lineno"> 
2508</span>&#160;</div>
 <div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160; 
   <span class="keyword">const</span> FrameworkID&amp; frameworkId = 
operation-&gt;framework_id();</div>
 <div class="line"><a name="l02510"></a><span class="lineno"> 
2510</span>&#160;</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160; 
   <a class="code" href="classTry.html">Try&lt;id::UUID&gt;</a> uuid = <a 
class="code" 
href="structid_1_1UUID.html#afd66db1d29a4ee4be9c82581437dda74">id::UUID::fromBytes</a>(operation-&gt;uuid().value());</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160; 
   <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(uuid);</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 
2513</span>&#160;</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160; 
   CHECK(!<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a62a748c068aad2de8153f3426a001f6a">operations</a>.<a
 class="code" 
href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(uuid.<a 
class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Duplicate operation 
&#39;&quot;</span> &lt;&lt; operation-&gt;info().id()</div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;&#39; (uuid: &quot;</span> 
&lt;&lt; uuid-&gt;<a class="code" 
href="structid_1_1UUID.html#af024badbc379374ac635031eed57dc5f">toString</a>() 
&lt;&lt; <span class="stringliteral">&quot;) &quot;</span></div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;of framework &quot;</span> 
&lt;&lt; frameworkId;</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 
2518</span>&#160;</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a62a748c068aad2de8153f3426a001f6a">operations</a>.<a
 class="code" 
href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(uuid.<a 
class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>(), 
operation);</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 
2520</span>&#160;</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160; 
   <span class="keywordflow">if</span> (operation-&gt;info().has_id()) {</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a7216d67637db3ee049a2b2d2df8fcd45">operationUUIDs</a>.<a
 class="code" 
href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(operation-&gt;info().id(),
 uuid.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>());</div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160; 
   }</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 
2524</span>&#160;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160; 
   <span class="keywordflow">if</span> (!<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info())
 &amp;&amp;</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160; 
       !<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aa31907fb62769822a77c06ffbf10451f">protobuf::isTerminalState</a>(operation-&gt;latest_status().state()))
 {</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160; 
     <a class="code" href="classTry.html">Try&lt;Resources&gt;</a> consumed 
=</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160; 
       <a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aaad34fc9798891303cecdba77c1e473c">protobuf::getConsumedResources</a>(operation-&gt;info());</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160; 
     <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(consumed);</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 
2530</span>&#160;</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160; 
     CHECK(operation-&gt;has_slave_id())</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160; 
       &lt;&lt; <span class="stringliteral">&quot;External resource provider is 
not supported yet&quot;</span>;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 
2533</span>&#160;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160; 
     <span class="keyword">const</span> SlaveID&amp; slaveId = 
operation-&gt;slave_id();</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 
2535</span>&#160;</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>
 += consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId]
 += consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 
2538</span>&#160;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; 
     <span class="comment">// It&#39;s possible that we&#39;re not tracking the 
role from the</span></div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; 
     <span class="comment">// resources in the operation for this framework if 
the role is</span></div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; 
     <span class="comment">// absent from the framework&#39;s set of roles. In 
this case, we</span></div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; 
     <span class="comment">// track the role&#39;s allocation for this 
framework.</span></div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; 
     <a class="code" 
href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> 
(<span class="keyword">const</span> std::string&amp; role, 
consumed-&gt;allocations()) {</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160; 
       <span class="keywordflow">if</span> (!<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a614fb3ba127133b939e2a733c6ecbf2a">isTrackedUnderRole</a>(role))
 {</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; 
         <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#afa185682905163563412aa1915e612c8">trackUnderRole</a>(role);</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; 
       }</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; 
     }</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; 
   }</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; 
 }</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 
2550</span>&#160;</div>
-<div class="line"><a name="l02551"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a6c372eac1cdd60d11a990d81acbd732f">
 2551</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a6c372eac1cdd60d11a990d81acbd732f">recoverResources</a>(<a
 class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 operation)</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; 
 {</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; 
   CHECK(operation-&gt;has_slave_id())</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;External resource provider is 
not supported yet&quot;</span>;</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 
2555</span>&#160;</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; 
   <span class="keyword">const</span> SlaveID&amp; slaveId = 
operation-&gt;slave_id();</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 
2557</span>&#160;</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; 
   <span class="keywordflow">if</span> (<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info()))
 {</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; 
     <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160; 
   }</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 
2561</span>&#160;</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; 
   <a class="code" href="classTry.html">Try&lt;Resources&gt;</a> consumed = <a 
class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aaad34fc9798891303cecdba77c1e473c">protobuf::getConsumedResources</a>(operation-&gt;info());</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160; 
   <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(consumed);</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 
2564</span>&#160;</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a30fc4fe000da99818bfcee5bb780e5d4">contains</a>(consumed.<a
 class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Tried to recover resources 
&quot;</span> &lt;&lt; consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot; which do not seem 
used&quot;</span>;</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 
2568</span>&#160;</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId].<a
 class="code" 
href="namespacestrings.html#a269921757daf11096d3f5e02686f8444">contains</a>(consumed.<a
 class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Tried to recover resources 
&quot;</span> &lt;&lt; consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &lt;&lt; <span 
class="stringliteral">&quot; of agent &quot;</span></div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; 
     &lt;&lt; slaveId &lt;&lt; <span class="stringliteral">&quot; which do not 
seem used&quot;</span>;</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 
2572</span>&#160;</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>
 -= consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId]
 -= consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160; 
   <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId].empty())
 {</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>.erase(slaveId);</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160; 
   }</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 
2578</span>&#160;</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; 
   <span class="comment">// If we are no longer subscribed to the role to which 
these</span></div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; 
   <span class="comment">// resources are being returned to, and we have no 
more resources</span></div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; 
   <span class="comment">// allocated to us for that role, stop tracking the 
framework</span></div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160; 
   <span class="comment">// under the role.</span></div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160; 
   <a class="code" 
href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> 
(<span class="keyword">const</span> std::string&amp; role, 
consumed-&gt;allocations()) {</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160; 
     <span class="keyword">auto</span> allocatedToRole = [&amp;role](<span 
class="keyword">const</span> Resource&amp; resource) {</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; 
       <span class="keywordflow">return</span> 
resource.allocation_info().role() == role;</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; 
     };</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 
2587</span>&#160;</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160; 
     <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>.count(role)
 == 0 &amp;&amp;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160; 
         <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>())
 {</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160; 
       CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a965f66810b71a0d2bab683fee1b6a9b6">totalOfferedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>());</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; 
       <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a3edaf411ec6e409a3f8b2a77988ef65a">untrackUnderRole</a>(role);</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160; 
     }</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; 
   }</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160; 
 }</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 
2595</span>&#160;</div>
-<div class="line"><a name="l02596"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4ab58c53f3b77b91a6b2af3b6eb55f84">
 2596</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4ab58c53f3b77b91a6b2af3b6eb55f84">removeOperation</a>(<a
 class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 operation)</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160; 
 {</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160; 
   <a class="code" href="classTry.html">Try&lt;id::UUID&gt;</a> uuid = <a 
class="code" 
href="structid_1_1UUID.html#afd66db1d29a4ee4be9c82581437dda74">id::UUID::fromBytes</a>(operation-&gt;uuid().value());</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160; 
   <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(uuid);</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 
2600</span>&#160;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a62a748c068aad2de8153f3426a001f6a">operations</a>.<a
 class="code" 
href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(uuid.<a 
class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Unknown operation 
&#39;&quot;</span> &lt;&lt; operation-&gt;info().id()</div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;&#39; (uuid: &quot;</span> 
&lt;&lt; uuid-&gt;<a class="code" 
href="structid_1_1UUID.html#af024badbc379374ac635031eed57dc5f">toString</a>() 
&lt;&lt; <span class="stringliteral">&quot;) &quot;</span></div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;of framework &quot;</span> 
&lt;&lt; operation-&gt;framework_id();</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 
2605</span>&#160;</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; 
   <span class="keywordflow">if</span> (!<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info())
 &amp;&amp;</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160; 
       !<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aa31907fb62769822a77c06ffbf10451f">protobuf::isTerminalState</a>(operation-&gt;latest_status().state()))
 {</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#af14287bdb6466ca003b6e5e6a37ae02a">recoverResources</a>(operation);</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160; 
   }</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 
2610</span>&#160;</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a62a748c068aad2de8153f3426a001f6a">operations</a>.erase(uuid.<a
 class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>());</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160; 
 }</div>
+<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160; 
   <span class="keyword">const</span> UUID&amp; uuid = 
operation-&gt;uuid();</div>
+<div class="line"><a name="l02512"></a><span class="lineno"> 
2512</span>&#160;</div>
+<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160; 
   CHECK(!<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2adf30b02ddb79430f00ce7fd664f524">operations</a>.<a
 class="code" 
href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(uuid))</div>
+<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Duplicate operation 
&#39;&quot;</span> &lt;&lt; operation-&gt;info().id()</div>
+<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;&#39; (uuid: &quot;</span> 
&lt;&lt; uuid &lt;&lt; <span class="stringliteral">&quot;) &quot;</span></div>
+<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;of framework &quot;</span> 
&lt;&lt; frameworkId;</div>
+<div class="line"><a name="l02517"></a><span class="lineno"> 
2517</span>&#160;</div>
+<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2adf30b02ddb79430f00ce7fd664f524">operations</a>.<a
 class="code" 
href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(uuid, 
operation);</div>
+<div class="line"><a name="l02519"></a><span class="lineno"> 
2519</span>&#160;</div>
+<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160; 
   <span class="keywordflow">if</span> (operation-&gt;info().has_id()) {</div>
+<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#adbfbbfbf3b149924091212eff5cf8dc6">operationUUIDs</a>.<a
 class="code" 
href="classhashmap.html#a040f93efd556981326f0809e0f24f9ef">put</a>(operation-&gt;info().id(),
 uuid);</div>
+<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160; 
   }</div>
+<div class="line"><a name="l02523"></a><span class="lineno"> 
2523</span>&#160;</div>
+<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160; 
   <span class="keywordflow">if</span> (!<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info())
 &amp;&amp;</div>
+<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160; 
       !<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aa31907fb62769822a77c06ffbf10451f">protobuf::isTerminalState</a>(operation-&gt;latest_status().state()))
 {</div>
+<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160; 
     <a class="code" href="classTry.html">Try&lt;Resources&gt;</a> consumed 
=</div>
+<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160; 
       <a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aaad34fc9798891303cecdba77c1e473c">protobuf::getConsumedResources</a>(operation-&gt;info());</div>
+<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160; 
     <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(consumed);</div>
+<div class="line"><a name="l02529"></a><span class="lineno"> 
2529</span>&#160;</div>
+<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160; 
     CHECK(operation-&gt;has_slave_id())</div>
+<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160; 
       &lt;&lt; <span class="stringliteral">&quot;External resource provider is 
not supported yet&quot;</span>;</div>
+<div class="line"><a name="l02532"></a><span class="lineno"> 
2532</span>&#160;</div>
+<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160; 
     <span class="keyword">const</span> SlaveID&amp; slaveId = 
operation-&gt;slave_id();</div>
+<div class="line"><a name="l02534"></a><span class="lineno"> 
2534</span>&#160;</div>
+<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>
 += consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
+<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId]
 += consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
+<div class="line"><a name="l02537"></a><span class="lineno"> 
2537</span>&#160;</div>
+<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160; 
     <span class="comment">// It&#39;s possible that we&#39;re not tracking the 
role from the</span></div>
+<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; 
     <span class="comment">// resources in the operation for this framework if 
the role is</span></div>
+<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; 
     <span class="comment">// absent from the framework&#39;s set of roles. In 
this case, we</span></div>
+<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; 
     <span class="comment">// track the role&#39;s allocation for this 
framework.</span></div>
+<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; 
     <a class="code" 
href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> 
(<span class="keyword">const</span> std::string&amp; role, 
consumed-&gt;allocations()) {</div>
+<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; 
       <span class="keywordflow">if</span> (!<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a614fb3ba127133b939e2a733c6ecbf2a">isTrackedUnderRole</a>(role))
 {</div>
+<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160; 
         <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#afa185682905163563412aa1915e612c8">trackUnderRole</a>(role);</div>
+<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; 
       }</div>
+<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; 
     }</div>
+<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; 
   }</div>
+<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; 
 }</div>
+<div class="line"><a name="l02549"></a><span class="lineno"> 
2549</span>&#160;</div>
+<div class="line"><a name="l02550"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a6c372eac1cdd60d11a990d81acbd732f">
 2550</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a6c372eac1cdd60d11a990d81acbd732f">recoverResources</a>(<a
 class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 operation)</div>
+<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; 
 {</div>
+<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; 
   CHECK(operation-&gt;has_slave_id())</div>
+<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;External resource provider is 
not supported yet&quot;</span>;</div>
+<div class="line"><a name="l02554"></a><span class="lineno"> 
2554</span>&#160;</div>
+<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; 
   <span class="keyword">const</span> SlaveID&amp; slaveId = 
operation-&gt;slave_id();</div>
+<div class="line"><a name="l02556"></a><span class="lineno"> 
2556</span>&#160;</div>
+<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; 
   <span class="keywordflow">if</span> (<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info()))
 {</div>
+<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; 
     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; 
   }</div>
+<div class="line"><a name="l02560"></a><span class="lineno"> 
2560</span>&#160;</div>
+<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160; 
   <a class="code" href="classTry.html">Try&lt;Resources&gt;</a> consumed = <a 
class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aaad34fc9798891303cecdba77c1e473c">protobuf::getConsumedResources</a>(operation-&gt;info());</div>
+<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; 
   <a class="code" 
href="stout_2include_2stout_2check_8hpp.html#aee320e7c6e107071f4b85d4cc135a265">CHECK_SOME</a>(consumed);</div>
+<div class="line"><a name="l02563"></a><span class="lineno"> 
2563</span>&#160;</div>
+<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a30fc4fe000da99818bfcee5bb780e5d4">contains</a>(consumed.<a
 class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
+<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Tried to recover resources 
&quot;</span> &lt;&lt; consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()</div>
+<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot; which do not seem 
used&quot;</span>;</div>
+<div class="line"><a name="l02567"></a><span class="lineno"> 
2567</span>&#160;</div>
+<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId].<a
 class="code" 
href="namespacestrings.html#a269921757daf11096d3f5e02686f8444">contains</a>(consumed.<a
 class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()))</div>
+<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Tried to recover resources 
&quot;</span> &lt;&lt; consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &lt;&lt; <span 
class="stringliteral">&quot; of agent &quot;</span></div>
+<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160; 
     &lt;&lt; slaveId &lt;&lt; <span class="stringliteral">&quot; which do not 
seem used&quot;</span>;</div>
+<div class="line"><a name="l02571"></a><span class="lineno"> 
2571</span>&#160;</div>
+<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>
 -= consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
+<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId]
 -= consumed.<a class="code" 
href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>();</div>
+<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; 
   <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>[slaveId].empty())
 {</div>
+<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a9085d3f2c156a7772cbd243776a62491">usedResources</a>.erase(slaveId);</div>
+<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; 
   }</div>
+<div class="line"><a name="l02577"></a><span class="lineno"> 
2577</span>&#160;</div>
+<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160; 
   <span class="comment">// If we are no longer subscribed to the role to which 
these</span></div>
+<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; 
   <span class="comment">// resources are being returned to, and we have no 
more resources</span></div>
+<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; 
   <span class="comment">// allocated to us for that role, stop tracking the 
framework</span></div>
+<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; 
   <span class="comment">// under the role.</span></div>
+<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160; 
   <a class="code" 
href="foreach_8hpp.html#acac417231a256d7c6164a86db970da86">foreachkey</a> 
(<span class="keyword">const</span> std::string&amp; role, 
consumed-&gt;allocations()) {</div>
+<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160; 
     <span class="keyword">auto</span> allocatedToRole = [&amp;role](<span 
class="keyword">const</span> Resource&amp; resource) {</div>
+<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160; 
       <span class="keywordflow">return</span> 
resource.allocation_info().role() == role;</div>
+<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; 
     };</div>
+<div class="line"><a name="l02586"></a><span class="lineno"> 
2586</span>&#160;</div>
+<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160; 
     <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>.count(role)
 == 0 &amp;&amp;</div>
+<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160; 
         <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>())
 {</div>
+<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160; 
       CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a965f66810b71a0d2bab683fee1b6a9b6">totalOfferedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>());</div>
+<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160; 
       <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a3edaf411ec6e409a3f8b2a77988ef65a">untrackUnderRole</a>(role);</div>
+<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; 
     }</div>
+<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160; 
   }</div>
+<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; 
 }</div>
+<div class="line"><a name="l02594"></a><span class="lineno"> 
2594</span>&#160;</div>
+<div class="line"><a name="l02595"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4ab58c53f3b77b91a6b2af3b6eb55f84">
 2595</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4ab58c53f3b77b91a6b2af3b6eb55f84">removeOperation</a>(<a
 class="code" 
href="namespacecgroups_1_1blkio.html#a350b1eb57318afaea7700ab7786b55ef">Operation</a>*
 operation)</div>
+<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; 
 {</div>
+<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160; 
   <span class="keyword">const</span> UUID&amp; uuid = 
operation-&gt;uuid();</div>
+<div class="line"><a name="l02598"></a><span class="lineno"> 
2598</span>&#160;</div>
+<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160; 
   CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2adf30b02ddb79430f00ce7fd664f524">operations</a>.<a
 class="code" 
href="classhashmap.html#ac142b3f8b73c76d5d4545bbd299007e5">contains</a>(uuid))</div>
+<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;Unknown operation 
&#39;&quot;</span> &lt;&lt; operation-&gt;info().id()</div>
+<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;&#39; (uuid: &quot;</span> 
&lt;&lt; uuid &lt;&lt; <span class="stringliteral">&quot;) &quot;</span></div>
+<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160; 
     &lt;&lt; <span class="stringliteral">&quot;of framework &quot;</span> 
&lt;&lt; operation-&gt;framework_id();</div>
+<div class="line"><a name="l02603"></a><span class="lineno"> 
2603</span>&#160;</div>
+<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160; 
   <span class="keywordflow">if</span> (!<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#a19a8e8be02b815dab4cecd8382e3dd26">protobuf::isSpeculativeOperation</a>(operation-&gt;info())
 &amp;&amp;</div>
+<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160; 
       !<a class="code" 
href="namespacemesos_1_1internal_1_1protobuf.html#aa31907fb62769822a77c06ffbf10451f">protobuf::isTerminalState</a>(operation-&gt;latest_status().state()))
 {</div>
+<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#af14287bdb6466ca003b6e5e6a37ae02a">recoverResources</a>(operation);</div>
+<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160; 
   }</div>
+<div class="line"><a name="l02608"></a><span class="lineno"> 
2608</span>&#160;</div>
+<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2adf30b02ddb79430f00ce7fd664f524">operations</a>.erase(uuid);</div>
+<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160; 
 }</div>
+<div class="line"><a name="l02611"></a><span class="lineno"> 
2611</span>&#160;</div>
+<div class="line"><a name="l02612"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">
 2612</a></span>&#160;  <span class="keyword">const</span> FrameworkID <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()<span
 class="keyword"> const </span>{ <span class="keywordflow">return</span> 
info.id(); }</div>
 <div class="line"><a name="l02613"></a><span class="lineno"> 
2613</span>&#160;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">
 2614</a></span>&#160;  <span class="keyword">const</span> FrameworkID <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()<span
 class="keyword"> const </span>{ <span class="keywordflow">return</span> 
info.id(); }</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 
2615</span>&#160;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; 
 <span class="comment">// Update fields in &#39;info&#39; using those in 
&#39;newInfo&#39;. Currently this</span></div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160; 
 <span class="comment">// only updates `role`/`roles`, &#39;name&#39;, 
&#39;failover_timeout&#39;, &#39;hostname&#39;,</span></div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; 
 <span class="comment">// &#39;webui_url&#39;, &#39;capabilities&#39;, and 
&#39;labels&#39;.</span></div>
-<div class="line"><a name="l02619"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a8f5f1a0e7c16c0e7750373c1146dc3a1">
 2619</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a8f5f1a0e7c16c0e7750373c1146dc3a1">update</a>(<span
 class="keyword">const</span> FrameworkInfo&amp; newInfo)</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160; 
 {</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160; 
   <span class="comment">// We only merge &#39;info&#39; from the same 
framework &#39;id&#39;.</span></div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; 
   CHECK_EQ(info.id(), newInfo.id());</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 
2623</span>&#160;</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160; 
   <span class="comment">// Save the old list of roles for later.</span></div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160; 
   std::set&lt;std::string&gt; oldRoles = <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>;</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 
2626</span>&#160;</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160; 
   <span class="comment">// TODO(jmlvanre): Merge other fields as per design 
doc in</span></div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; 
   <span class="comment">// MESOS-703.</span></div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 
2629</span>&#160;</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160; 
   info.clear_role();</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; 
   info.clear_roles();</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 
2632</span>&#160;</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_role()) {</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160; 
     info.set_role(newInfo.role());</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160; 
   }</div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 
2636</span>&#160;</div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.roles_size() &gt; 0) {</div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160; 
     info.mutable_roles()-&gt;CopyFrom(newInfo.roles());</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160; 
   }</div>
+<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160; 
 <span class="comment">// Update fields in &#39;info&#39; using those in 
&#39;newInfo&#39;. Currently this</span></div>
+<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; 
 <span class="comment">// only updates `role`/`roles`, &#39;name&#39;, 
&#39;failover_timeout&#39;, &#39;hostname&#39;,</span></div>
+<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; 
 <span class="comment">// &#39;webui_url&#39;, &#39;capabilities&#39;, and 
&#39;labels&#39;.</span></div>
+<div class="line"><a name="l02617"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a8f5f1a0e7c16c0e7750373c1146dc3a1">
 2617</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a8f5f1a0e7c16c0e7750373c1146dc3a1">update</a>(<span
 class="keyword">const</span> FrameworkInfo&amp; newInfo)</div>
+<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; 
 {</div>
+<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160; 
   <span class="comment">// We only merge &#39;info&#39; from the same 
framework &#39;id&#39;.</span></div>
+<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160; 
   CHECK_EQ(info.id(), newInfo.id());</div>
+<div class="line"><a name="l02621"></a><span class="lineno"> 
2621</span>&#160;</div>
+<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; 
   <span class="comment">// Save the old list of roles for later.</span></div>
+<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160; 
   std::set&lt;std::string&gt; oldRoles = <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>;</div>
+<div class="line"><a name="l02624"></a><span class="lineno"> 
2624</span>&#160;</div>
+<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160; 
   <span class="comment">// TODO(jmlvanre): Merge other fields as per design 
doc in</span></div>
+<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; 
   <span class="comment">// MESOS-703.</span></div>
+<div class="line"><a name="l02627"></a><span class="lineno"> 
2627</span>&#160;</div>
+<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; 
   info.clear_role();</div>
+<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160; 
   info.clear_roles();</div>
+<div class="line"><a name="l02630"></a><span class="lineno"> 
2630</span>&#160;</div>
+<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_role()) {</div>
+<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160; 
     info.set_role(newInfo.role());</div>
+<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160; 
   }</div>
+<div class="line"><a name="l02634"></a><span class="lineno"> 
2634</span>&#160;</div>
+<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.roles_size() &gt; 0) {</div>
+<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; 
     info.mutable_roles()-&gt;CopyFrom(newInfo.roles());</div>
+<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160; 
   }</div>
+<div class="line"><a name="l02638"></a><span class="lineno"> 
2638</span>&#160;</div>
+<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>
 = <a class="code" 
href="namespacemesos_1_1internal_1_1protobuf_1_1framework.html#a34d007aecebcd1c9dbd3ee0ad1d39155">protobuf::framework::getRoles</a>(newInfo);</div>
 <div class="line"><a name="l02640"></a><span class="lineno"> 
2640</span>&#160;</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>
 = <a class="code" 
href="namespacemesos_1_1internal_1_1protobuf_1_1framework.html#a34d007aecebcd1c9dbd3ee0ad1d39155">protobuf::framework::getRoles</a>(newInfo);</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 
2642</span>&#160;</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.user() != info.user()) {</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.user to &#39;&quot;</span> &lt;&lt; newInfo.user()</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160; 
                  &lt;&lt; <span class="stringliteral">&quot;&#39; for 
framework &quot;</span> &lt;&lt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()
 &lt;&lt; <span class="stringliteral">&quot;. Check 
MESOS-703&quot;</span>;</div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160; 
   }</div>
+<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.user() != info.user()) {</div>
+<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.user to &#39;&quot;</span> &lt;&lt; newInfo.user()</div>
+<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160; 
                  &lt;&lt; <span class="stringliteral">&quot;&#39; for 
framework &quot;</span> &lt;&lt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()
 &lt;&lt; <span class="stringliteral">&quot;. Check 
MESOS-703&quot;</span>;</div>
+<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160; 
   }</div>
+<div class="line"><a name="l02645"></a><span class="lineno"> 
2645</span>&#160;</div>
+<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160; 
   info.set_name(newInfo.name());</div>
 <div class="line"><a name="l02647"></a><span class="lineno"> 
2647</span>&#160;</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160; 
   info.set_name(newInfo.name());</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 
2649</span>&#160;</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_failover_timeout()) {</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160; 
     info.set_failover_timeout(newInfo.failover_timeout());</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160; 
     info.clear_failover_timeout();</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160; 
   }</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 
2655</span>&#160;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.checkpoint() != 
info.checkpoint()) {</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.checkpoint to &#39;&quot;</span></div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160; 
                  &lt;&lt; <a class="code" 
href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(newInfo.checkpoint())
 &lt;&lt; <span class="stringliteral">&quot;&#39; for framework 
&quot;</span></div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160; 
                  &lt;&lt; <span class="keywordtype">id</span>() &lt;&lt; <span 
class="stringliteral">&quot;. Check MESOS-703&quot;</span>;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160; 
   }</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 
2661</span>&#160;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_hostname()) {</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160; 
     info.set_hostname(newInfo.hostname());</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160; 
     info.clear_hostname();</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160; 
   }</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 
2667</span>&#160;</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.principal() != 
info.principal()) {</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.principal to &#39;&quot;</span></div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160; 
                  &lt;&lt; newInfo.principal() &lt;&lt; <span 
class="stringliteral">&quot;&#39; for framework &quot;</span> &lt;&lt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160; 
                  &lt;&lt; <span class="stringliteral">&quot;. Check 
MESOS-703&quot;</span>;</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span>&#160; 
   }</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 
2673</span>&#160;</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_webui_url()) {</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160; 
     info.set_webui_url(newInfo.webui_url());</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160; 
     info.clear_webui_url();</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160; 
   }</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 
2679</span>&#160;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.capabilities_size() &gt; 0) 
{</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160; 
     info.mutable_capabilities()-&gt;CopyFrom(newInfo.capabilities());</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160; 
     info.clear_capabilities();</div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span>&#160; 
   }</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4bd6909f50c4594e8db3f4f791814dc7">capabilities</a>
 = <a class="code" 
href="structmesos_1_1internal_1_1protobuf_1_1framework_1_1Capabilities.html">protobuf::framework::Capabilities</a>(info.capabilities());</div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 
2686</span>&#160;</div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_labels()) {</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160; 
     info.mutable_labels()-&gt;CopyFrom(newInfo.labels());</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160; 
     info.clear_labels();</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160; 
   }</div>
+<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_failover_timeout()) {</div>
+<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span>&#160; 
     info.set_failover_timeout(newInfo.failover_timeout());</div>
+<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160; 
     info.clear_failover_timeout();</div>
+<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160; 
   }</div>
+<div class="line"><a name="l02653"></a><span class="lineno"> 
2653</span>&#160;</div>
+<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.checkpoint() != 
info.checkpoint()) {</div>
+<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.checkpoint to &#39;&quot;</span></div>
+<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160; 
                  &lt;&lt; <a class="code" 
href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(newInfo.checkpoint())
 &lt;&lt; <span class="stringliteral">&quot;&#39; for framework 
&quot;</span></div>
+<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160; 
                  &lt;&lt; <span class="keywordtype">id</span>() &lt;&lt; <span 
class="stringliteral">&quot;. Check MESOS-703&quot;</span>;</div>
+<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160; 
   }</div>
+<div class="line"><a name="l02659"></a><span class="lineno"> 
2659</span>&#160;</div>
+<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_hostname()) {</div>
+<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160; 
     info.set_hostname(newInfo.hostname());</div>
+<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160; 
     info.clear_hostname();</div>
+<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160; 
   }</div>
+<div class="line"><a name="l02665"></a><span class="lineno"> 
2665</span>&#160;</div>
+<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.principal() != 
info.principal()) {</div>
+<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160; 
     LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Cannot update 
FrameworkInfo.principal to &#39;&quot;</span></div>
+<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160; 
                  &lt;&lt; newInfo.principal() &lt;&lt; <span 
class="stringliteral">&quot;&#39; for framework &quot;</span> &lt;&lt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#ac971d54c3567de6411c6aa7e998c5417">id</a>()</div>
+<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160; 
                  &lt;&lt; <span class="stringliteral">&quot;. Check 
MESOS-703&quot;</span>;</div>
+<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160; 
   }</div>
+<div class="line"><a name="l02671"></a><span class="lineno"> 
2671</span>&#160;</div>
+<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_webui_url()) {</div>
+<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160; 
     info.set_webui_url(newInfo.webui_url());</div>
+<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160; 
     info.clear_webui_url();</div>
+<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160; 
   }</div>
+<div class="line"><a name="l02677"></a><span class="lineno"> 
2677</span>&#160;</div>
+<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.capabilities_size() &gt; 0) 
{</div>
+<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160; 
     info.mutable_capabilities()-&gt;CopyFrom(newInfo.capabilities());</div>
+<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160; 
     info.clear_capabilities();</div>
+<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160; 
   }</div>
+<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160; 
   <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a4bd6909f50c4594e8db3f4f791814dc7">capabilities</a>
 = <a class="code" 
href="structmesos_1_1internal_1_1protobuf_1_1framework_1_1Capabilities.html">protobuf::framework::Capabilities</a>(info.capabilities());</div>
+<div class="line"><a name="l02684"></a><span class="lineno"> 
2684</span>&#160;</div>
+<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160; 
   <span class="keywordflow">if</span> (newInfo.has_labels()) {</div>
+<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160; 
     info.mutable_labels()-&gt;CopyFrom(newInfo.labels());</div>
+<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160; 
   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160; 
     info.clear_labels();</div>
+<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160; 
   }</div>
+<div class="line"><a name="l02690"></a><span class="lineno"> 
2690</span>&#160;</div>
+<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160; 
   <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; newRoles 
= <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>;</div>
 <div class="line"><a name="l02692"></a><span class="lineno"> 
2692</span>&#160;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160; 
   <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; newRoles 
= <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a2d8cbc0dbd23317d8194398a3810a5b5">roles</a>;</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 
2694</span>&#160;</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160; 
   <span class="keyword">const</span> std::set&lt;std::string&gt; removedRoles 
= [&amp;]() {</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160; 
     std::set&lt;std::string&gt; result = oldRoles;</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160; 
     <span class="keywordflow">foreach</span> (<span 
class="keyword">const</span> std::string&amp; role, newRoles) {</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160; 
       result.erase(role);</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160; 
     }</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160; 
     <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160; 
   }();</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 
2702</span>&#160;</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160; 
   <span class="keywordflow">foreach</span> (<span class="keyword">const</span> 
std::string&amp; role, removedRoles) {</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160; 
     <span class="keyword">auto</span> allocatedToRole = [&amp;role](<span 
class="keyword">const</span> Resource&amp; resource) {</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160; 
       <span class="keywordflow">return</span> 
resource.allocation_info().role() == role;</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160; 
     };</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 
2707</span>&#160;</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160; 
     <span class="comment">// Stop tracking the framework under this role if 
there are</span></div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160; 
     <span class="comment">// no longer any resources allocated to 
it.</span></div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160; 
     <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a35847f2388d25e0cb9b3a9d0a722fbdd">totalUsedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>())
 {</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160; 
       CHECK(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a965f66810b71a0d2bab683fee1b6a9b6">totalOfferedResources</a>.<a
 class="code" 
href="classmesos_1_1Resources.html#a62ae547c0d24fdfb139549e9b8126fdf">filter</a>(allocatedToRole).<a
 class="code" 
href="classmesos_1_1Resources.html#ab46b900ebe62b19390d9a2a82b46eb15">empty</a>());</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span>&#160; 
       <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a3edaf411ec6e409a3f8b2a77988ef65a">untrackUnderRole</a>(role);</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160; 
     }</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160; 
   }</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 
2715</span>&#160;</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160; 
   <span class="keyword">const</span> std::set&lt;std::string&gt; addedRoles = 
[&amp;]() {</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span>&#160; 
     std::set&lt;std::string&gt; result = newRoles;</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160; 
     <span class="keywordflow">foreach</span> (<span 
class="keyword">const</span> std::string&amp; role, oldRoles) {</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160; 
       result.erase(role);</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span>&#160; 
     }</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span>&#160; 
     <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span>&#160; 
   }();</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 
2723</span>&#160;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160; 
   <span class="keywordflow">foreach</span> (<span class="keyword">const</span> 
std::string&amp; role, addedRoles) {</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160; 
     <span class="comment">// NOTE: It&#39;s possible that we&#39;re already 
tracking this framework</span></div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span>&#160; 
     <span class="comment">// under the role because a framework can 
unsubscribe from a role</span></div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160; 
     <span class="comment">// while it still has resources allocated to the 
role.</span></div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160; 
     <span class="keywordflow">if</span> (!<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a614fb3ba127133b939e2a733c6ecbf2a">isTrackedUnderRole</a>(role))
 {</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160; 
       <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#afa185682905163563412aa1915e612c8">trackUnderRole</a>(role);</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span>&#160; 
     }</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span>&#160; 
   }</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span>&#160; 
 }</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 
2733</span>&#160;</div>
-<div class="line"><a name="l02734"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#aa21baf526b32c397ea45f103cea5dd15">
 2734</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#aa21baf526b32c397ea45f103cea5dd15">updateConnection</a>(<span
 class="keyword">const</span> <a class="code" 
href="structprocess_1_1UPID.html">process::UPID</a>&amp; newPid)</div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span>&#160; 
 {</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span>&#160; 
   <span class="comment">// Cleanup the HTTP connnection if this is a downgrade 
from HTTP</span></div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160; 
   <span class="comment">// to PID. Note that the connection may already be 
closed.</span></div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span>&#160; 
   <span class="keywordflow">if</span> (<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a574beb521d564fcbbbce942e694d106c">http</a>.isSome())
 {</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a54362f290514769903a61d7cd0d6506b">closeHttpConnection</a>();</div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160; 
   }</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 
2741</span>&#160;</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160; 
   <span class="comment">// TODO(benh): unlink(oldPid);</span></div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span>&#160; 
   pid = newPid;</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span>&#160; 
 }</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 
2745</span>&#160;</div>
-<div class="line"><a name="l02746"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#aab28c60e6ecfa298c41f4e006f73a911">
 2746</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#aab28c60e6ecfa298c41f4e006f73a911">updateConnection</a>(<span
 class="keyword">const</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp;
 newHttp)</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span>&#160; 
 {</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160; 
   <span class="keywordflow">if</span> (pid.isSome()) {</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160; 
     <span class="comment">// Wipe the PID if this is an upgrade from PID to 
HTTP.</span></div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span>&#160; 
     <span class="comment">// TODO(benh): unlink(oldPid);</span></div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160; 
     pid = <a class="code" href="structNone.html">None</a>();</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span>&#160; 
   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> 
(<a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a574beb521d564fcbbbce942e694d106c">http</a>.isSome())
 {</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span>&#160; 
     <span class="comment">// Cleanup the old HTTP connection.</span></div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span>&#160; 
     <span class="comment">// Note that master creates a new HTTP connection 
for every</span></div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span>&#160; 
     <span class="comment">// subscribe request, so &#39;newHttp&#39; should 
always be different</span></div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span>&#160; 
     <span class="comment">// from &#39;http&#39;.</span></div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160; 
     <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Framework.html#a54362f290514769903a61d7cd0d6506b">closeHttpConnection</a>();</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160; 
   }</div>
+<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160; 
   <span class="keyword">const</span> std::set&lt;std::string&gt; removedRoles 
= [&amp;]() {</div>
+<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160; 
     std::set&lt;std::string&gt; result = oldRoles;</div>
+<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160; 
     <span class="keywordflow">foreach</span> (<span 
class="keyword">const</span> std::string&amp; role, newRoles) {</div>
+<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160; 
       res

<TRUNCATED>

Reply via email to