You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/01/10 03:15:39 UTC

[2/3] mesos-site git commit: Updated the website built from mesos SHA: 51a3bd9.

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/40b88f0a/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 6307a8f..ed6c91d 100644
--- a/content/api/latest/c++/src_2master_2master_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2master_8hpp_source.html
@@ -1849,1059 +1849,1050 @@
 <div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;    <span class="comment">// NOTE: Using a &#39;shared_ptr&#39; here is OK because &#39;RateLimiter&#39; is</span></div>
 <div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;    <span class="comment">// a wrapper around libprocess process which is thread safe.</span></div>
 <div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;    <a class="code" href="classOption.html">Option&lt;std::shared_ptr&lt;process::RateLimiter&gt;</a>&gt; limiter;</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;    <span class="keywordtype">bool</span> transitioning(<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;SlaveID&gt;</a>&amp; slaveId)</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;    {</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;      <span class="keywordflow">if</span> (slaveId.<a class="code" href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()) {</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;        <span class="keywordflow">return</span> recovered.contains(slaveId.<a class="code" href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>());</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;      } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;        <span class="keywordflow">return</span> !recovered.empty();</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;      }</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;    }</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;  } slaves;</div>
+<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;  } slaves;</div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;</div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;  <span class="keyword">struct </span>Frameworks</div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;  {</div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;    Frameworks(<span class="keyword">const</span> Flags&amp; masterFlags)</div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;      : completed(masterFlags.max_completed_frameworks) {}</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, Framework*&gt;</a> registered;</div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;    <a class="code" href="classBoundedHashMap.html">BoundedHashMap&lt;FrameworkID, process::Owned&lt;Framework&gt;</a>&gt; completed;</div>
 <div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;  <span class="keyword">struct </span>Frameworks</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;  {</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;    Frameworks(<span class="keyword">const</span> Flags&amp; masterFlags)</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;      : completed(masterFlags.max_completed_frameworks) {}</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;FrameworkID, Framework*&gt;</a> registered;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;    <a class="code" href="classBoundedHashMap.html">BoundedHashMap&lt;FrameworkID, process::Owned&lt;Framework&gt;</a>&gt; completed;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;    <span class="comment">// Principals of frameworks keyed by PID.</span></div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;    <span class="comment">// NOTE: Multiple PIDs can map to the same principal. The</span></div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;    <span class="comment">// principal is None when the framework doesn&#39;t specify it.</span></div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;    <span class="comment">// The differences between this map and &#39;authenticated&#39; are:</span></div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;    <span class="comment">// 1) This map only includes *registered* frameworks. The mapping</span></div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;    <span class="comment">//    is added when a framework (re-)registers.</span></div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;    <span class="comment">// 2) This map includes unauthenticated frameworks (when Master</span></div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;    <span class="comment">//    allows them) if they have principals specified in</span></div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;    <span class="comment">//    FrameworkInfo.</span></div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, Option&lt;std::string&gt;</a>&gt; principals;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;    <span class="comment">// BoundedRateLimiters keyed by the framework principal.</span></div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;    <span class="comment">// Like Metrics::Frameworks, all frameworks of the same principal</span></div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;    <span class="comment">// are throttled together at a common rate limit.</span></div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, Option&lt;process::Owned&lt;BoundedRateLimiter&gt;</a>&gt;&gt; limiters;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;    <span class="comment">// The default limiter is for frameworks not specified in</span></div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;    <span class="comment">// &#39;flags.rate_limits&#39;.</span></div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;    <a class="code" href="classOption.html">Option&lt;process::Owned&lt;BoundedRateLimiter&gt;</a>&gt; defaultLimiter;</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;  } frameworks;</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;  <span class="keyword">struct </span>Subscribers</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;  {</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;    <span class="comment">// Represents a client subscribed to the &#39;api/vX&#39; endpoint.</span></div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;    <span class="comment">//</span></div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;    <span class="comment">// TODO(anand): Add support for filtering. Some subscribers</span></div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;    <span class="comment">// might only be interested in a subset of events.</span></div>
-<div class="line"><a name="l01960"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html"> 1960</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a></div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;    {</div>
-<div class="line"><a name="l01962"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010"> 1962</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010">Subscriber</a>(</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;          <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* _master,</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;          <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; _http,</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a> _principal)</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;        : <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51">master</a>(_master),</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;          <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>(_http),</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;          <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92">principal</a>(_principal)</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;      {</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;        <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a> event;</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;        <span class="keyword">event</span>.set_type(mesos::master::Event::HEARTBEAT);</div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;    <span class="comment">// Principals of frameworks keyed by PID.</span></div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;    <span class="comment">// NOTE: Multiple PIDs can map to the same principal. The</span></div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;    <span class="comment">// principal is None when the framework doesn&#39;t specify it.</span></div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;    <span class="comment">// The differences between this map and &#39;authenticated&#39; are:</span></div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;    <span class="comment">// 1) This map only includes *registered* frameworks. The mapping</span></div>
+<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;    <span class="comment">//    is added when a framework (re-)registers.</span></div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;    <span class="comment">// 2) This map includes unauthenticated frameworks (when Master</span></div>
+<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;    <span class="comment">//    allows them) if they have principals specified in</span></div>
+<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;    <span class="comment">//    FrameworkInfo.</span></div>
+<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, Option&lt;std::string&gt;</a>&gt; principals;</div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;    <span class="comment">// BoundedRateLimiters keyed by the framework principal.</span></div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;    <span class="comment">// Like Metrics::Frameworks, all frameworks of the same principal</span></div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;    <span class="comment">// are throttled together at a common rate limit.</span></div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;std::string, Option&lt;process::Owned&lt;BoundedRateLimiter&gt;</a>&gt;&gt; limiters;</div>
+<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;    <span class="comment">// The default limiter is for frameworks not specified in</span></div>
+<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;    <span class="comment">// &#39;flags.rate_limits&#39;.</span></div>
+<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;    <a class="code" href="classOption.html">Option&lt;process::Owned&lt;BoundedRateLimiter&gt;</a>&gt; defaultLimiter;</div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;  } frameworks;</div>
+<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;</div>
+<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;  <span class="keyword">struct </span>Subscribers</div>
+<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;  {</div>
+<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;    <span class="comment">// Represents a client subscribed to the &#39;api/vX&#39; endpoint.</span></div>
+<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;    <span class="comment">//</span></div>
+<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;    <span class="comment">// TODO(anand): Add support for filtering. Some subscribers</span></div>
+<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;    <span class="comment">// might only be interested in a subset of events.</span></div>
+<div class="line"><a name="l01951"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html"> 1951</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a></div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;    {</div>
+<div class="line"><a name="l01953"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010"> 1953</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010">Subscriber</a>(</div>
+<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;          <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* _master,</div>
+<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;          <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; _http,</div>
+<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;          <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a> _principal)</div>
+<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;        : <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51">master</a>(_master),</div>
+<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;          <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>(_http),</div>
+<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;          <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92">principal</a>(_principal)</div>
+<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;      {</div>
+<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;        <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a> event;</div>
+<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;        <span class="keyword">event</span>.set_type(mesos::master::Event::HEARTBEAT);</div>
+<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a> =</div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;          <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>&gt;(</div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;              <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>(</div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;                  <span class="stringliteral">&quot;subscriber &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>.<a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#ad6de2b778601691522fab0b3eed260e7">streamId</a>),</div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;                  event,</div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;                  <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>,</div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;                  <a class="code" href="namespacemesos_1_1internal_1_1master.html#a241384d7256ec21bea9b9e9cba24f766">DEFAULT_HEARTBEAT_INTERVAL</a>,</div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;                  <a class="code" href="namespacemesos_1_1internal_1_1master.html#a241384d7256ec21bea9b9e9cba24f766">DEFAULT_HEARTBEAT_INTERVAL</a>));</div>
 <div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a> =</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;          <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>&gt;(</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;              <span class="keyword">new</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Heartbeater.html">Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>(</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;                  <span class="stringliteral">&quot;subscriber &quot;</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>.<a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#ad6de2b778601691522fab0b3eed260e7">streamId</a>),</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;                  event,</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;                  <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>,</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;                  <a class="code" href="namespacemesos_1_1internal_1_1master.html#a241384d7256ec21bea9b9e9cba24f766">DEFAULT_HEARTBEAT_INTERVAL</a>,</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;                  <a class="code" href="namespacemesos_1_1internal_1_1master.html#a241384d7256ec21bea9b9e9cba24f766">DEFAULT_HEARTBEAT_INTERVAL</a>));</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;        <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">process::spawn</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;      }</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;      <span class="comment">// Not copyable, not assignable.</span></div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010">Subscriber</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp; <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#ad0382c412122e0f356cd01948de8fbd1">operator=</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;      <span class="keywordtype">void</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a05f31b779169c3611afbc3e1c8326f0f">send</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a>&amp; event,</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; authorizeRole,</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a2e681b1f2c827a85d66a207cfdedf5c3">authorizeFramework</a>,</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aee6c20e5ab98744a50a2cb783af6b686">authorizeTask</a>,</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; authorizeExecutor);</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a86ef4d728349aedb9d28a20860bb735f"> 1995</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a86ef4d728349aedb9d28a20860bb735f">~Subscriber</a>()</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;      {</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;        <span class="comment">// TODO(anand): Refactor `HttpConnection` to being a RAII class instead.</span></div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;        <span class="comment">// It is possible that a caller might accidentally invoke `close()`</span></div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;        <span class="comment">// after passing ownership to the `Subscriber` object. See MESOS-5843</span></div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;        <span class="comment">// for more details.</span></div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>.<a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a2347c2f4d88f6f0043690aba6dfac27f">close</a>();</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;        <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;        <a class="code" href="namespaceprocess.html#a07833fb41a8b0c1f18fa5485ca8c18d4">wait</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;      }</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51"> 2007</a></span>&#160;      <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51">master</a>;</div>
-<div class="line"><a name="l02008"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95"> 2008</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>&gt;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780"> 2010</a></span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>;</div>
-<div class="line"><a name="l02011"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92"> 2011</a></span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92">principal</a>;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;    };</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;    <span class="comment">// Sends the event to all subscribers connected to the &#39;api/vX&#39; endpoint.</span></div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classProtobufProcess.html#a6c404fdc490a7199a0d2ad881d588e5c">send</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a>&amp; event);</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;    <span class="comment">// Active subscribers to the &#39;api/vX&#39; endpoint keyed by the stream</span></div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;    <span class="comment">// identifier.</span></div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;id::UUID, process::Owned&lt;Subscriber&gt;</a>&gt; subscribed;</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;  } subscribers;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, Offer*&gt;</a> offers;</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, process::Timer&gt;</a> offerTimers;</div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;        <a class="code" href="namespaceprocess.html#aff22904a83567125d3b4d0d88e5a2270">process::spawn</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;      }</div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;</div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;      <span class="comment">// Not copyable, not assignable.</span></div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a7846e3eb3878fd037d273fa07fe97010">Subscriber</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp; <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#ad0382c412122e0f356cd01948de8fbd1">operator=</a>(<span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html">Subscriber</a>&amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;</div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;      <span class="keywordtype">void</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a05f31b779169c3611afbc3e1c8326f0f">send</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a>&amp; event,</div>
+<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; authorizeRole,</div>
+<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#a2e681b1f2c827a85d66a207cfdedf5c3">authorizeFramework</a>,</div>
+<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html#aee6c20e5ab98744a50a2cb783af6b686">authorizeTask</a>,</div>
+<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;          <span class="keyword">const</span> <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;AuthorizationAcceptor&gt;</a>&amp; authorizeExecutor);</div>
+<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;</div>
+<div class="line"><a name="l01986"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a86ef4d728349aedb9d28a20860bb735f"> 1986</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a86ef4d728349aedb9d28a20860bb735f">~Subscriber</a>()</div>
+<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;      {</div>
+<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;        <span class="comment">// TODO(anand): Refactor `HttpConnection` to being a RAII class instead.</span></div>
+<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;        <span class="comment">// It is possible that a caller might accidentally invoke `close()`</span></div>
+<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;        <span class="comment">// after passing ownership to the `Subscriber` object. See MESOS-5843</span></div>
+<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;        <span class="comment">// for more details.</span></div>
+<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>.<a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html#a2347c2f4d88f6f0043690aba6dfac27f">close</a>();</div>
+<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;</div>
+<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;        <a class="code" href="namespaceprocess.html#a20443908afa3212215166e26065349e5">terminate</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
+<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;        <a class="code" href="namespaceprocess.html#a07833fb41a8b0c1f18fa5485ca8c18d4">wait</a>(<a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>.get());</div>
+<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;      }</div>
+<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;</div>
+<div class="line"><a name="l01998"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51"> 1998</a></span>&#160;      <a class="code" href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>* <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aaa06a2782bb02c7f81952abfac6c1a51">master</a>;</div>
+<div class="line"><a name="l01999"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95"> 1999</a></span>&#160;      <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a0bb1901deff186f05669c0a47b5dbc95">http</a>;</div>
+<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">process::Owned&lt;Heartbeater&lt;mesos::master::Event, v1::master::Event&gt;</a>&gt;</div>
+<div class="line"><a name="l02001"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780"> 2001</a></span>&#160;        <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#aeae44540ead81669d5381fc80f472780">heartbeater</a>;</div>
+<div class="line"><a name="l02002"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92"> 2002</a></span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;process::http::authentication::Principal&gt;</a> <a class="code" href="structmesos_1_1internal_1_1master_1_1Master_1_1Subscribers_1_1Subscriber.html#a13da2ab712b9f1b041694374ebabeb92">principal</a>;</div>
+<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;    };</div>
+<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;</div>
+<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;    <span class="comment">// Sends the event to all subscribers connected to the &#39;api/vX&#39; endpoint.</span></div>
+<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classProtobufProcess.html#a6c404fdc490a7199a0d2ad881d588e5c">send</a>(<span class="keyword">const</span> <a class="code" href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acd3fa8addac36f513726743665631d79">mesos::master::Event</a>&amp; event);</div>
+<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;</div>
+<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;    <span class="comment">// Active subscribers to the &#39;api/vX&#39; endpoint keyed by the stream</span></div>
+<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;    <span class="comment">// identifier.</span></div>
+<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;    <a class="code" href="classhashmap.html">hashmap&lt;id::UUID, process::Owned&lt;Subscriber&gt;</a>&gt; subscribed;</div>
+<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;  } subscribers;</div>
+<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;</div>
+<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, Offer*&gt;</a> offers;</div>
+<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, process::Timer&gt;</a> offerTimers;</div>
+<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;</div>
+<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, InverseOffer*&gt;</a> inverseOffers;</div>
+<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, process::Timer&gt;</a> inverseOfferTimers;</div>
+<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;</div>
+<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;  <span class="comment">// We track information about roles that we&#39;re aware of in the system.</span></div>
+<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;  <span class="comment">// Specifically, we keep track of the roles when a framework subscribes to</span></div>
+<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;  <span class="comment">// the role, and/or when there are resources allocated to the role</span></div>
+<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;  <span class="comment">// (e.g. some tasks and/or executors are consuming resources under the role).</span></div>
+<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Role*&gt;</a> roles;</div>
 <div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, InverseOffer*&gt;</a> inverseOffers;</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;OfferID, process::Timer&gt;</a> inverseOfferTimers;</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;  <span class="comment">// We track information about roles that we&#39;re aware of in the system.</span></div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;  <span class="comment">// Specifically, we keep track of the roles when a framework subscribes to</span></div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;  <span class="comment">// the role, and/or when there are resources allocated to the role</span></div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;  <span class="comment">// (e.g. some tasks and/or executors are consuming resources under the role).</span></div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Role*&gt;</a> roles;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;  <span class="comment">// Configured role whitelist if using the (deprecated) &quot;explicit</span></div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;  <span class="comment">// roles&quot; feature. If this is `None`, any role is allowed.</span></div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;  <a class="code" href="classOption.html">Option&lt;hashset&lt;std::string&gt;</a>&gt; roleWhitelist;</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;  <span class="comment">// Configured weight for each role, if any. If a role does not</span></div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;  <span class="comment">// appear here, it has the default weight of 1.</span></div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, double&gt;</a> weights;</div>
+<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;  <span class="comment">// Configured role whitelist if using the (deprecated) &quot;explicit</span></div>
+<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;  <span class="comment">// roles&quot; feature. If this is `None`, any role is allowed.</span></div>
+<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;  <a class="code" href="classOption.html">Option&lt;hashset&lt;std::string&gt;</a>&gt; roleWhitelist;</div>
+<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;</div>
+<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;  <span class="comment">// Configured weight for each role, if any. If a role does not</span></div>
+<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;  <span class="comment">// appear here, it has the default weight of 1.</span></div>
+<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, double&gt;</a> weights;</div>
+<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;</div>
+<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;  <span class="comment">// Configured quota for each role, if any. We store quotas by role</span></div>
+<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;  <span class="comment">// because we set them at the role level.</span></div>
+<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Quota&gt;</a> quotas;</div>
+<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;</div>
+<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;  <span class="comment">// Authenticator names as supplied via flags.</span></div>
+<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;  std::vector&lt;std::string&gt; authenticatorNames;</div>
+<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;</div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;  <a class="code" href="classOption.html">Option&lt;Authenticator*&gt;</a> authenticator;</div>
 <div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;  <span class="comment">// Configured quota for each role, if any. We store quotas by role</span></div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;  <span class="comment">// because we set them at the role level.</span></div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Quota&gt;</a> quotas;</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;  <span class="comment">// Authenticator names as supplied via flags.</span></div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;  std::vector&lt;std::string&gt; authenticatorNames;</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;  <a class="code" href="classOption.html">Option&lt;Authenticator*&gt;</a> authenticator;</div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;  <span class="comment">// Frameworks/slaves that are currently in the process of authentication.</span></div>
+<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;  <span class="comment">// &#39;authenticating&#39; future is completed when authenticator</span></div>
+<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;  <span class="comment">// completes authentication.</span></div>
+<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;  <span class="comment">// The future is removed from the map when master completes authentication.</span></div>
+<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, process::Future&lt;Option&lt;std::string&gt;</a>&gt;&gt; authenticating;</div>
+<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;</div>
+<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;  <span class="comment">// Principals of authenticated frameworks/slaves keyed by PID.</span></div>
+<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, std::string&gt;</a> authenticated;</div>
 <div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;  <span class="comment">// Frameworks/slaves that are currently in the process of authentication.</span></div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;  <span class="comment">// &#39;authenticating&#39; future is completed when authenticator</span></div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;  <span class="comment">// completes authentication.</span></div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;  <span class="comment">// The future is removed from the map when master completes authentication.</span></div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, process::Future&lt;Option&lt;std::string&gt;</a>&gt;&gt; authenticating;</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;  <span class="comment">// Principals of authenticated frameworks/slaves keyed by PID.</span></div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;process::UPID, std::string&gt;</a> authenticated;</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;  int64_t nextFrameworkId; <span class="comment">// Used to give each framework a unique ID.</span></div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;  int64_t nextOfferId;     <span class="comment">// Used to give each slot offer a unique ID.</span></div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;  int64_t nextSlaveId;     <span class="comment">// Used to give each slave a unique ID.</span></div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;  <span class="comment">// NOTE: It is safe to use a &#39;shared_ptr&#39; because &#39;Metrics&#39; is</span></div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;  <span class="comment">// thread safe.</span></div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;  <span class="comment">// TODO(dhamon): This does not need to be a shared_ptr. Metrics contains</span></div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;  <span class="comment">// copyable metric types only.</span></div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;  std::shared_ptr&lt;Metrics&gt; metrics;</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;  <span class="comment">// Gauge handlers.</span></div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;  <span class="keywordtype">double</span> _uptime_secs()</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;  {</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>() - startTime).secs();</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;  }</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;  <span class="keywordtype">double</span> _elected()</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;  {</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;    <span class="keywordflow">return</span> elected() ? 1 : 0;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;  }</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;  <span class="keywordtype">double</span> _slaves_connected();</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;  <span class="keywordtype">double</span> _slaves_disconnected();</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;  <span class="keywordtype">double</span> _slaves_active();</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;  <span class="keywordtype">double</span> _slaves_inactive();</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;  <span class="keywordtype">double</span> _slaves_unreachable();</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;  <span class="keywordtype">double</span> _frameworks_connected();</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;  <span class="keywordtype">double</span> _frameworks_disconnected();</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;  <span class="keywordtype">double</span> _frameworks_active();</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;  <span class="keywordtype">double</span> _frameworks_inactive();</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;  <span class="keywordtype">double</span> _outstanding_offers()</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;  {</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;    <span class="keywordflow">return</span> offers.size();</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;  }</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;  <span class="keywordtype">double</span> _event_queue_messages()</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;  {</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::MessageEvent&gt;());</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;  }</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;  <span class="keywordtype">double</span> _event_queue_dispatches()</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;  {</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::DispatchEvent&gt;());</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;  }</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;  <span class="keywordtype">double</span> _event_queue_http_requests()</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;  {</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::HttpEvent&gt;());</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;  }</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;  <span class="keywordtype">double</span> _tasks_staging();</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;  <span class="keywordtype">double</span> _tasks_starting();</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;  <span class="keywordtype">double</span> _tasks_running();</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;  <span class="keywordtype">double</span> _tasks_unreachable();</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;  <span class="keywordtype">double</span> _tasks_killing();</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;  <span class="keywordtype">double</span> _resources_total(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;  <span class="keywordtype">double</span> _resources_used(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;  <span class="keywordtype">double</span> _resources_percent(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_total(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_used(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_percent(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime; <span class="comment">// Start time used to calculate uptime.</span></div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;  <a class="code" href="classOption.html">Option&lt;process::Time&gt;</a> electedTime; <span class="comment">// Time when this master is elected.</span></div>
+<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;  int64_t nextFrameworkId; <span class="comment">// Used to give each framework a unique ID.</span></div>
+<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;  int64_t nextOfferId;     <span class="comment">// Used to give each slot offer a unique ID.</span></div>
+<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;  int64_t nextSlaveId;     <span class="comment">// Used to give each slave a unique ID.</span></div>
+<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;</div>
+<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;  <span class="comment">// NOTE: It is safe to use a &#39;shared_ptr&#39; because &#39;Metrics&#39; is</span></div>
+<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;  <span class="comment">// thread safe.</span></div>
+<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;  <span class="comment">// TODO(dhamon): This does not need to be a shared_ptr. Metrics contains</span></div>
+<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;  <span class="comment">// copyable metric types only.</span></div>
+<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;  std::shared_ptr&lt;Metrics&gt; metrics;</div>
+<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;</div>
+<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;  <span class="comment">// Gauge handlers.</span></div>
+<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;  <span class="keywordtype">double</span> _uptime_secs()</div>
+<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;  {</div>
+<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>() - startTime).secs();</div>
+<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;  }</div>
+<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;</div>
+<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;  <span class="keywordtype">double</span> _elected()</div>
+<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;  {</div>
+<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;    <span class="keywordflow">return</span> elected() ? 1 : 0;</div>
+<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;  }</div>
+<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;</div>
+<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;  <span class="keywordtype">double</span> _slaves_connected();</div>
+<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;  <span class="keywordtype">double</span> _slaves_disconnected();</div>
+<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;  <span class="keywordtype">double</span> _slaves_active();</div>
+<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;  <span class="keywordtype">double</span> _slaves_inactive();</div>
+<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;  <span class="keywordtype">double</span> _slaves_unreachable();</div>
+<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;  <span class="keywordtype">double</span> _frameworks_connected();</div>
+<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;  <span class="keywordtype">double</span> _frameworks_disconnected();</div>
+<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;  <span class="keywordtype">double</span> _frameworks_active();</div>
+<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;  <span class="keywordtype">double</span> _frameworks_inactive();</div>
+<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;</div>
+<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;  <span class="keywordtype">double</span> _outstanding_offers()</div>
+<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;  {</div>
+<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;    <span class="keywordflow">return</span> offers.size();</div>
+<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;  }</div>
+<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;</div>
+<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;  <span class="keywordtype">double</span> _event_queue_messages()</div>
+<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;  {</div>
+<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::MessageEvent&gt;());</div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;  }</div>
+<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;</div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;  <span class="keywordtype">double</span> _event_queue_dispatches()</div>
+<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;  {</div>
+<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::DispatchEvent&gt;());</div>
+<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;  }</div>
+<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;</div>
+<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;  <span class="keywordtype">double</span> _event_queue_http_requests()</div>
+<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;  {</div>
+<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(eventCount&lt;process::HttpEvent&gt;());</div>
+<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;  }</div>
+<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;</div>
+<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;  <span class="keywordtype">double</span> _tasks_staging();</div>
+<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;  <span class="keywordtype">double</span> _tasks_starting();</div>
+<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;  <span class="keywordtype">double</span> _tasks_running();</div>
+<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;  <span class="keywordtype">double</span> _tasks_unreachable();</div>
+<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;  <span class="keywordtype">double</span> _tasks_killing();</div>
+<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;</div>
+<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;  <span class="keywordtype">double</span> _resources_total(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;  <span class="keywordtype">double</span> _resources_used(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;  <span class="keywordtype">double</span> _resources_percent(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;</div>
+<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_total(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_used(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;  <span class="keywordtype">double</span> _resources_revocable_percent(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;</div>
+<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;  <a class="code" href="classprocess_1_1Time.html">process::Time</a> startTime; <span class="comment">// Start time used to calculate uptime.</span></div>
+<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;</div>
+<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;  <a class="code" href="classOption.html">Option&lt;process::Time&gt;</a> electedTime; <span class="comment">// Time when this master is elected.</span></div>
+<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;</div>
+<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;  <span class="comment">// Validates the framework including authorization.</span></div>
+<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;  <span class="comment">// Returns None if the framework is valid.</span></div>
+<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;  <span class="comment">// Returns Error if the framework is invalid.</span></div>
+<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;  <span class="comment">// Returns Failure if authorization returns &#39;Failure&#39;.</span></div>
+<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;Error&gt;</a>&gt; validate(</div>
+<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
+<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from);</div>
+<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;};</div>
 <div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;  <span class="comment">// Validates the framework including authorization.</span></div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;  <span class="comment">// Returns None if the framework is valid.</span></div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;  <span class="comment">// Returns Error if the framework is invalid.</span></div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;  <span class="comment">// Returns Failure if authorization returns &#39;Failure&#39;.</span></div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;  <a class="code" href="classprocess_1_1Future.html">process::Future&lt;Option&lt;Error&gt;</a>&gt; validate(</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;      <span class="keyword">const</span> FrameworkInfo&amp; frameworkInfo,</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1UPID.html">process::UPID</a>&amp; from);</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;};</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;<span class="keyword">inline</span> std::ostream&amp; <a class="code" href="namespacemesos_1_1internal_1_1master.html#a222c724f5e238d743bb338c71016048d">operator&lt;&lt;</a>(</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;    std::ostream&amp; stream,</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;    <span class="keyword">const</span> Framework&amp; framework);</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;<span class="comment">// TODO(bmahler): Keeping the task and executor information in sync</span></div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;<span class="comment">// across the Slave and Framework structs is error prone!</span></div>
-<div class="line"><a name="l02147"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html"> 2147</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a></div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;{</div>
-<div class="line"><a name="l02149"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65"> 2149</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65">State</a></div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;  {</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;    <span class="comment">// Framework has never connected to this master. This implies the</span></div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;    <span class="comment">// master failed over and the framework has not yet re-registered,</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;    <span class="comment">// but some framework state has been recovered from re-registering</span></div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;    <span class="comment">// agents that are running tasks for the framework.</span></div>
-<div class="line"><a name="l02155"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a2781c7e12fec2c505d95224df19bbea4"> 2155</a></span>&#160;    <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a2781c7e12fec2c505d95224df19bbea4">RECOVERED</a>,</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;    <span class="comment">// Framework was previously connected to this master. A framework</span></div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;    <span class="comment">// becomes disconnected when there is a socket error.</span></div>
-<div class="line"><a name="l02159"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a52b99ab13cfb61a1ed4f78cc57f974f6"> 2159</a></span>&#160;    <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a52b99ab13cfb61a1ed4f78cc57f974f6">DISCONNECTED</a>,</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;    <span class="comment">// The framework is connected but not active.</span></div>
-<div class="line"><a name="l02162"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a9564d46b6ef0e132e3856ac29e22b065"> 2162</a></span>&#160;    <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a9564d46b6ef0e132e3856ac29e22b065">INACTIVE</a>,</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;    <span class="comment">// Framework is connected and eligible to receive offers. No</span></div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;    <span class="comment">// offers will be made to frameworks that are not active.</span></div>
-<div class="line"><a name="l02166"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a6228d0b8755323f0a5d2cf44863226d5"> 2166</a></span>&#160;    <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a6228d0b8755323f0a5d2cf44863226d5">ACTIVE</a></div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;  };</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;</div>
-<div class="line"><a name="l02169"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a5ca92e3fadf6870a101d9bb811d4c3a5"> 2169</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a5ca92e3fadf6870a101d9bb811d4c3a5">Framework</a>(<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_1Framework.html#a3b912abb827bb20ef35d46b2388ae1f0">master</a>,</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;            <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Flags.html">Flags</a>&amp; masterFlags,</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;            <span class="keyword">const</span> FrameworkInfo&amp; <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#aaa84eaf9694ad355fdb76ff15818b295">info</a>,</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</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="l02173"></a><span class="lineno"> 2173</span>&#160;            <span class="keyword">const</span> <a class="code" href="classprocess_1_1Time.html">process::Time</a>&amp; <a class="code" href="namespacecgroups_1_1blkio_1_1cfq.html#abe4d7d69fdf7ca70fb30c6cd34a953e4">time</a> = <a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>())</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;    : <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>(master, masterFlags, info, <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a6228d0b8755323f0a5d2cf44863226d5">ACTIVE</a>, <a class="code" href="namespacecgroups_1_1blkio_1_1cfq.html#abe4d7d69fdf7ca70fb30c6cd34a953e4">time</a>)</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;  {</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;    pid = _pid;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;  }</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;</div>
-<div class="line"><a name="l02179"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a71e5518db2bb5dea0ea30c62c8875233"> 2179</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a71e5518db2bb5dea0ea30c62c8875233">Framework</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="l02180"></a><span class="lineno"> 2180</span>&#160;            <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Flags.html">Flags</a>&amp; masterFlags,</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;            <span class="keyword">const</span> FrameworkInfo&amp; info,</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;            <span class="keyword">const</span> <a class="code" href="structmesos_1_1internal_1_1master_1_1HttpConnection.html">HttpConnection</a>&amp; _http,</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;            <span class="keyword">const</span> <a class="code" href="classprocess_1_1Time.html">process::Time</a>&amp; <a class="code" href="namespacecgroups_1_1blkio_1_1cfq.html#abe4d7d69fdf7ca70fb30c6cd34a953e4">time</a> = <a class="code" href="classprocess_1_1Clock.html#a24ed3f746bb6b3ddb1c52dce5e0ecd38">process::Clock::now</a>())</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;    : <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>(master, masterFlags, info, <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a6228d0b8755323f0a5d2cf44863226d5">ACTIVE</a>, <a class="code" href="namespacecgroups_1_1blkio_1_1cfq.html#abe4d7d69fdf7ca70fb30c6cd34a953e4">time</a>)</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;  {</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;    <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a574beb521d564fcbbbce942e694d106c">http</a> = _http;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;  }</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;</div>
-<div class="line"><a name="l02189"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#ac3630efd25c454ceac2b96fb299f3db3"> 2189</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#ac3630efd25c454ceac2b96fb299f3db3">Framework</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="l02190"></a><span class="lineno"> 2190</span>&#160;            <span class="keyword">const</span> <a class="code" href="classmesos_1_1internal_1_1master_1_1Flags.html">Flags</a>&amp; masterFlags,</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;            <span class="keyword">const</span> FrameworkInfo&amp; info)</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;    : <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html">Framework</a>(master, masterFlags, info, <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a96a90d8ae734d729489ba877367e6b65a2781c7e12fec2c505d95224df19bbea4">RECOVERED</a>, <a class="code" href="namespaceos.html#ae19e4161a51b86a1f330f3bf1dc75389">process</a>::Time()) {}</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Framework.html#a6831b8eaa6b3f35f823663c5e71bf591"> 2194</a></span>&#160;  <a class="code" href="structmesos_1_1internal_1_1master_1_1Framework.html#a6831b8eaa6b3f35f823663c5e71bf591">~Framework</a>()</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;  {</div>
-<div class="line"><a

<TRUNCATED>