http://git-wip-us.apache.org/repos/asf/mesos-site/blob/ab984a36/content/api/latest/c++/uri__disk__profile_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/uri__disk__profile_8hpp_source.html
b/content/api/latest/c++/uri__disk__profile_8hpp_source.html
index fa43ace..20e8f5c 100644
--- a/content/api/latest/c++/uri__disk__profile_8hpp_source.html
+++ b/content/api/latest/c++/uri__disk__profile_8hpp_source.html
@@ -112,230 +112,233 @@
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> 
<span class="stringliteral">"This module supports both HTTP(s) and
file URIs\n."</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> 
<span class="stringliteral">"\n"</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> 
<span class="stringliteral">"The JSON object should consist of some
top-level string keys\n"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> 
<span class="stringliteral">"corresponding to the disk profile
name. Each value should\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> 
<span class="stringliteral">"contain a `VolumeCapability` under a
'volume_capabilities'\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> 
<span class="stringliteral">"and a free-form string-string mapping
under 'create_parameters'.\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> 
<span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> 
<span class="stringliteral">"The JSON is modeled after a protobuf
found in\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> 
<span
class="stringliteral">"`src/csi/uri_disk_profile.proto`.\n"</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> 
<span class="stringliteral">"corresponding to the disk profile
name. Each value should contain\n"</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> 
<span class="stringliteral">"a `ResourceProviderSelector` under
'resource_provider_selector' or\n"</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> 
<span class="stringliteral">"a `CSIPluginTypeSelector` under
'csi_plugin_type_selector' to\n"</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> 
<span class="stringliteral">"specify the set of resource providers
this profile applies to,\n"</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> 
<span class="stringliteral">"followed by a `VolumeCapability` under
'volume_capabilities'\n"</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> 
<span class="stringliteral">"and a free-form string-string mapping
under 'create_parameters'.\n"</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> 
<span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> 
<span class="stringliteral">"For example:\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> 
<span class="stringliteral">"{\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 
<span class="stringliteral">" \"profile_matrix\" :
{\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 
<span class="stringliteral">" \"my-profile\" :
{\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 
<span class="stringliteral">"
\"volume_capabilities\" : {\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> 
<span class="stringliteral">" \"block\" :
{},\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
<span class="stringliteral">" \"access_mode\" : {
\"mode\" : \"SINGLE_NODE_WRITER\" }\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 
<span class="stringliteral">" },\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 
<span class="stringliteral">" \"create_parameters\"
: {\n"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 
<span class="stringliteral">" \"mesos-does-not\" :
\"interpret-these\",\n"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 
<span class="stringliteral">" \"type\" :
\"raid5\",\n"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 
<span class="stringliteral">" \"stripes\" :
\"3\",\n"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 
<span class="stringliteral">" \"stripesize\" :
\"64\"\n"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 
<span class="stringliteral">" }\n"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 
<span class="stringliteral">" }\n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 
<span class="stringliteral">" }\n"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
<span class="stringliteral">"}"</span>,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 
static_cast<const Path*>(<span
class="keyword">nullptr</span>),</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 
[](<span class="keyword">const</span> <a class="code"
href="classPath.html">Path</a>& value) -> <a class="code"
href="classOption.html">Option<Error></a> {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 
<span class="comment">// For now, just check if the URI has a
supported scheme.</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 
<span class="comment">//</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> 
<span class="comment">// TODO(josephw): Once we have a proper URI
class and parser,</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 
<span class="comment">// consider validating this URI more
thoroughly.</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 
<span class="keywordflow">if</span> (<a class="code"
href="namespacestrings.html#aa5513faacb213c7e097c0d43af43d9c7">strings::startsWith</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"http://"</span>)</div>
-<div class="line"><a name="l00092"></a><span class="lineno">
92</span> #ifdef USE_SSL_SOCKET</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 
|| (<a class="code"
href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">process::network::openssl::flags</a>().enabled
&&</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 
<a class="code"
href="namespacestrings.html#aa5513faacb213c7e097c0d43af43d9c7">strings::startsWith</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"https://"</span>))</div>
-<div class="line"><a name="l00095"></a><span class="lineno">
95</span> <span class="preprocessor">#endif // USE_SSL_SOCKET</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">
96</span> <span class="preprocessor"></span> ) {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> 
<a class="code"
href="classTry.html">Try<process::http::URL></a> url =</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 
<a class="code"
href="structprocess_1_1http_1_1URL.html#aeb5accae04a1e271d4fdafa22131c150">process::http::URL::parse</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>());</div>
-<div class="line"><a name="l00099"></a><span class="lineno">
99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> 
<span class="keywordflow">if</span> (url.<a class="code"
href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"Failed to
parse URI: "</span> + url.<a class="code"
href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> 
}</div>
-<div class="line"><a name="l00103"></a><span class="lineno">
103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> 
}</div>
-<div class="line"><a name="l00106"></a><span class="lineno">
106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> 
<span class="comment">// NOTE: The `Path` class will strip off the
'file://' prefix.</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 
<span class="keywordflow">if</span> (<a class="code"
href="namespacestrings.html#a269921757daf11096d3f5e02686f8444">strings::contains</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"://"</span>)) {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"--uri must
use a supported scheme (file or http(s))"</span>);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 
}</div>
-<div class="line"><a name="l00111"></a><span class="lineno">
111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 
<span class="comment">// We only allow absolute paths for file
paths.</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 
<span class="keywordflow">if</span> (!value.<a class="code"
href="classPath.html#a240c7b71a23c8e97b5490dbae75cc948">absolute</a>()) {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"--uri to a
file must be an absolute path"</span>);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 
}</div>
-<div class="line"><a name="l00116"></a><span class="lineno">
116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> 
});</div>
-<div class="line"><a name="l00119"></a><span class="lineno">
119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 
<a class="code"
href="classflags_1_1FlagsBase.html#a09ebe840242a3b0fbd3263bb6c7ca226">add</a>(&<a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">Flags::poll_interval</a>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 
<span class="stringliteral">"poll_interval"</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 
<span class="stringliteral">"How long to wait between polling the
specified `--uri`.\n"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 
<span class="stringliteral">"The time is checked each time the
`translate` method is called.\n"</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 
<span class="stringliteral">"If the given time has elapsed, then
the URI is re-fetched."</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> 
<span class="stringliteral">"If not specified, the URI is only
fetched once."</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
[](<span class="keyword">const</span> <a class="code"
href="classOption.html">Option<Duration></a>& value) -> <a
class="code" href="classOption.html">Option<Error></a> {</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 
<span class="keywordflow">if</span> (value.<a class="code"
href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()
&& value.<a class="code"
href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() <= <a
class="code" href="classSeconds.html">Seconds</a>(0)) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span
class="stringliteral">"--poll_interval must be
non-negative"</span>);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 
}</div>
-<div class="line"><a name="l00130"></a><span class="lineno">
130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 
});</div>
-<div class="line"><a name="l00133"></a><span class="lineno">
133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
<a class="code"
href="classflags_1_1FlagsBase.html#a09ebe840242a3b0fbd3263bb6c7ca226">add</a>(&<a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">Flags::max_random_wait</a>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
<span class="stringliteral">"max_random_wait"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> 
<span class="stringliteral">"How long at most to wait between
discovering a new set of profiles\n"</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 
<span class="stringliteral">"and notifying the callers of `watch`.
The actual wait time is a\n"</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
<span class="stringliteral">"uniform random value between 0 and
this value. If the `--uri` points\n"</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 
<span class="stringliteral">"to a centralized location, it may be
good to scale this number\n"</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 
<span class="stringliteral">"according to the number of resource
providers in the cluster."</span>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 
<a class="code" href="classSeconds.html">Seconds</a>(0),</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
[](<span class="keyword">const</span> <a class="code"
href="classDuration.html">Duration</a>& value) -> <a class="code"
href="classOption.html">Option<Error></a> {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 
<span class="keywordflow">if</span> (value < <a class="code"
href="classSeconds.html">Seconds</a>(0)) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span
class="stringliteral">"--max_random_wait must be zero or
greater"</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 
}</div>
-<div class="line"><a name="l00146"></a><span class="lineno">
146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 
});</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> 
}</div>
-<div class="line"><a name="l00150"></a><span class="lineno">
150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 
<span class="comment">// NOTE: We use the `Path` type here so that the stout
flags parser</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 
<span class="comment">// does not attempt to read a file if given a `file://`
prefixed value.</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 
<span class="comment">//</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> 
<span class="comment">// TODO(josephw): Replace with a URI type when stout
gets one.</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">
155</a></span>  <a class="code" href="classPath.html">Path</a> <a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">uri</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> 
<span class="stringliteral">"The JSON is modeled after a protobuf
found in\n"</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> 
<span
class="stringliteral">"`src/resource_provider/storage/disk_profile.proto`.\n"</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 
<span class="stringliteral">"\n"</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 
<span class="stringliteral">"For example:\n"</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 
<span class="stringliteral">"{\n"</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> 
<span class="stringliteral">" \"profile_matrix\" :
{\n"</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
<span class="stringliteral">" \"my-profile\" :
{\n"</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 
<span class="stringliteral">"
\"csi_plugin_type_selector\": {\n"</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 
<span class="stringliteral">" \"plugin_type\" :
\"org.apache.mesos.csi.test\"\n"</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 
<span class="stringliteral">" \"},\n"</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 
<span class="stringliteral">"
\"volume_capabilities\" : {\n"</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 
<span class="stringliteral">" \"block\" :
{},\n"</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 
<span class="stringliteral">" \"access_mode\" : {
\"mode\" : \"SINGLE_NODE_WRITER\" }\n"</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 
<span class="stringliteral">" },\n"</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 
<span class="stringliteral">" \"create_parameters\"
: {\n"</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 
<span class="stringliteral">" \"mesos-does-not\" :
\"interpret-these\",\n"</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
<span class="stringliteral">" \"type\" :
\"raid5\",\n"</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 
<span class="stringliteral">" \"stripes\" :
\"3\",\n"</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 
<span class="stringliteral">" \"stripesize\" :
\"64\"\n"</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 
<span class="stringliteral">" }\n"</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 
<span class="stringliteral">" }\n"</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> 
<span class="stringliteral">" }\n"</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 
<span class="stringliteral">"}"</span>,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 
static_cast<const Path*>(<span
class="keyword">nullptr</span>),</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> 
[](<span class="keyword">const</span> <a class="code"
href="classPath.html">Path</a>& value) -> <a class="code"
href="classOption.html">Option<Error></a> {</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 
<span class="comment">// For now, just check if the URI has a
supported scheme.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 
<span class="comment">//</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> 
<span class="comment">// TODO(josephw): Once we have a proper URI
class and parser,</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> 
<span class="comment">// consider validating this URI more
thoroughly.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> 
<span class="keywordflow">if</span> (<a class="code"
href="namespacestrings.html#aa5513faacb213c7e097c0d43af43d9c7">strings::startsWith</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"http://"</span>)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">
98</span> #ifdef USE_SSL_SOCKET</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> 
|| (<a class="code"
href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">process::network::openssl::flags</a>().enabled
&&</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> 
<a class="code"
href="namespacestrings.html#aa5513faacb213c7e097c0d43af43d9c7">strings::startsWith</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"https://"</span>))</div>
+<div class="line"><a name="l00101"></a><span class="lineno">
101</span> <span class="preprocessor">#endif // USE_SSL_SOCKET</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">
102</span> <span class="preprocessor"></span> ) {</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> 
<a class="code"
href="classTry.html">Try<process::http::URL></a> url =</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 
<a class="code"
href="structprocess_1_1http_1_1URL.html#aeb5accae04a1e271d4fdafa22131c150">process::http::URL::parse</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>());</div>
+<div class="line"><a name="l00105"></a><span class="lineno">
105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> 
<span class="keywordflow">if</span> (url.<a class="code"
href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"Failed to
parse URI: "</span> + url.<a class="code"
href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 
}</div>
+<div class="line"><a name="l00109"></a><span class="lineno">
109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 
}</div>
+<div class="line"><a name="l00112"></a><span class="lineno">
112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 
<span class="comment">// NOTE: The `Path` class will strip off the
'file://' prefix.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 
<span class="keywordflow">if</span> (<a class="code"
href="namespacestrings.html#a269921757daf11096d3f5e02686f8444">strings::contains</a>(value.<a
class="code"
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">string</a>(), <span
class="stringliteral">"://"</span>)) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"--uri must
use a supported scheme (file or http(s))"</span>);</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> 
}</div>
+<div class="line"><a name="l00117"></a><span class="lineno">
117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> 
<span class="comment">// We only allow absolute paths for file
paths.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> 
<span class="keywordflow">if</span> (!value.<a class="code"
href="classPath.html#a240c7b71a23c8e97b5490dbae75cc948">absolute</a>()) {</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span class="stringliteral">"--uri to a
file must be an absolute path"</span>);</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 
}</div>
+<div class="line"><a name="l00122"></a><span class="lineno">
122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 
});</div>
+<div class="line"><a name="l00125"></a><span class="lineno">
125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
<a class="code"
href="classflags_1_1FlagsBase.html#a09ebe840242a3b0fbd3263bb6c7ca226">add</a>(&<a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">Flags::poll_interval</a>,</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 
<span class="stringliteral">"poll_interval"</span>,</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> 
<span class="stringliteral">"How long to wait between polling the
specified `--uri`.\n"</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 
<span class="stringliteral">"The time is checked each time the
`translate` method is called.\n"</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> 
<span class="stringliteral">"If the given time has elapsed, then
the URI is re-fetched."</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 
<span class="stringliteral">"If not specified, the URI is only
fetched once."</span>,</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 
[](<span class="keyword">const</span> <a class="code"
href="classOption.html">Option<Duration></a>& value) -> <a
class="code" href="classOption.html">Option<Error></a> {</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 
<span class="keywordflow">if</span> (value.<a class="code"
href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">isSome</a>()
&& value.<a class="code"
href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">get</a>() <= <a
class="code" href="classSeconds.html">Seconds</a>(0)) {</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span
class="stringliteral">"--poll_interval must be
non-negative"</span>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
}</div>
+<div class="line"><a name="l00136"></a><span class="lineno">
136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
});</div>
+<div class="line"><a name="l00139"></a><span class="lineno">
139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 
<a class="code"
href="classflags_1_1FlagsBase.html#a09ebe840242a3b0fbd3263bb6c7ca226">add</a>(&<a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">Flags::max_random_wait</a>,</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 
<span class="stringliteral">"max_random_wait"</span>,</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
<span class="stringliteral">"How long at most to wait between
discovering a new set of profiles\n"</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 
<span class="stringliteral">"and notifying the callers of `watch`.
The actual wait time is a\n"</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
<span class="stringliteral">"uniform random value between 0 and
this value. If the `--uri` points\n"</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 
<span class="stringliteral">"to a centralized location, it may be
good to scale this number\n"</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 
<span class="stringliteral">"according to the number of resource
providers in the cluster."</span>,</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 
<a class="code" href="classSeconds.html">Seconds</a>(0),</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 
[](<span class="keyword">const</span> <a class="code"
href="classDuration.html">Duration</a>& value) -> <a class="code"
href="classOption.html">Option<Error></a> {</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> 
<span class="keywordflow">if</span> (value < <a class="code"
href="classSeconds.html">Seconds</a>(0)) {</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 
<span class="keywordflow">return</span> <a class="code"
href="classError.html">Error</a>(<span
class="stringliteral">"--max_random_wait must be zero or
greater"</span>);</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 
}</div>
+<div class="line"><a name="l00152"></a><span class="lineno">
152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 
<span class="keywordflow">return</span> <a class="code"
href="structNone.html">None</a>();</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> 
});</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> 
}</div>
<div class="line"><a name="l00156"></a><span class="lineno">
156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">
157</a></span>  <a class="code"
href="classOption.html">Option<Duration></a> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">poll_interval</a>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">
158</a></span>  <a class="code" href="classDuration.html">Duration</a>
<a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">max_random_wait</a>;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">
159</span> };</div>
-<div class="line"><a name="l00160"></a><span class="lineno">
160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno">
161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno">
162</span> <span class="comment">// The `UriDiskProfileAdaptor` is an
example DiskProfile module that</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">
163</span> <span class="comment">// takes a URI as a module parameter and
fetches that URI periodically.</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">
164</span> <span class="comment">// The fetched data is parsed into the
required CSI protobufs</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">
165</span> <span class="comment">// (which also acts as
validation).</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">
166</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">
167</span> <span class="comment">// If there is an error during fetching,
any previously fetched results</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">
168</span> <span class="comment">// will be used until fetching is
successful.</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">
169</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno">
170</span> <span class="comment">// This module does not filter return
results based on `CSIPluginInfo::type`</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">
171</span> <span class="comment">// and assumes that all fetched profiles
are meant for all resource providers.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 
<span class="comment">// NOTE: We use the `Path` type here so that the stout
flags parser</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> 
<span class="comment">// does not attempt to read a file if given a `file://`
prefixed value.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> 
<span class="comment">//</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> 
<span class="comment">// TODO(josephw): Replace with a URI type when stout
gets one.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">
161</a></span>  <a class="code" href="classPath.html">Path</a> <a
class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">uri</a>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">
162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">
163</a></span>  <a class="code"
href="classOption.html">Option<Duration></a> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">poll_interval</a>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">
164</a></span>  <a class="code" href="classDuration.html">Duration</a>
<a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">max_random_wait</a>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">
165</span> };</div>
+<div class="line"><a name="l00166"></a><span class="lineno">
166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">
167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">
168</span> <span class="comment">// The `UriDiskProfileAdaptor` is an
example DiskProfile module that</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">
169</span> <span class="comment">// takes a URI as a module parameter and
fetches that URI periodically.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">
170</span> <span class="comment">// The fetched data is parsed into the
required CSI protobufs</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">
171</span> <span class="comment">// (which also acts as
validation).</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">
172</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">
173</span> <span class="comment">// See `Flags` above for more
information.</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">
174</a></span> <span class="keyword">class </span><a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">UriDiskProfileAdaptor</a>
: <span class="keyword">public</span> <a class="code"
href="classmesos_1_1DiskProfileAdaptor.html">mesos::DiskProfileAdaptor</a></div>
-<div class="line"><a name="l00175"></a><span class="lineno">
175</span> {</div>
-<div class="line"><a name="l00176"></a><span class="lineno">
176</span> <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#afe9df0e0e5c89333004416eb5dc51349">UriDiskProfileAdaptor</a>(<span
class="keyword">const</span> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a>&
_flags);</div>
-<div class="line"><a name="l00178"></a><span class="lineno">
178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 
<span class="keyword">virtual</span> <a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a1d2f2b61514b04c2ab8615a4e331bfb2">~UriDiskProfileAdaptor</a>();</div>
-<div class="line"><a name="l00180"></a><span class="lineno">
180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> 
<span class="keyword">virtual</span> <a class="code"
href="classprocess_1_1Future.html">process::Future<mesos::DiskProfileAdaptor::ProfileInfo></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a28f7504a35efefc91b93ab0f98039a36">translate</a>(</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 
<span class="keyword">const</span> std::string& profile,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 
<span class="keyword">const</span> std::string& csiPluginInfoType)
<span class="keyword">override</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">
173</span> <span class="comment">// If there is an error during fetching,
any previously fetched results</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">
174</span> <span class="comment">// will be used until fetching is
successful.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">
175</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">
176</span> <span class="comment">// This module does not filter return
results based on `CSIPluginInfo::type`</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">
177</span> <span class="comment">// and assumes that all fetched profiles
are meant for all resource providers.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">
178</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">
179</span> <span class="comment">// See `Flags` above for more
information.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">
180</a></span> <span class="keyword">class </span><a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">UriDiskProfileAdaptor</a>
: <span class="keyword">public</span> <a class="code"
href="classmesos_1_1DiskProfileAdaptor.html">DiskProfileAdaptor</a></div>
+<div class="line"><a name="l00181"></a><span class="lineno">
181</span> {</div>
+<div class="line"><a name="l00182"></a><span class="lineno">
182</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#afe9df0e0e5c89333004416eb5dc51349">UriDiskProfileAdaptor</a>(<span
class="keyword">const</span> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a>&
_flags);</div>
<div class="line"><a name="l00184"></a><span class="lineno">
184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 
<span class="keyword">virtual</span> <a class="code"
href="classprocess_1_1Future.html">process::Future<hashset<std::string></a>>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a2a1bcf83da4e8e2ce2389fd929d4e99f">watch</a>(</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
<span class="keyword">const</span> <a class="code"
href="classhashset.html">hashset<std::string></a>&
knownProfiles,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
<span class="keyword">const</span> std::string& csiPluginInfoType)
<span class="keyword">override</span>;</div>
-<div class="line"><a name="l00188"></a><span class="lineno">
188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno">
189</span> <span class="keyword">protected</span>:</div>
-<div class="line"><a name="l00190"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">
190</a></span>  <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a> <a
class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">flags</a>;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">
191</a></span>  <a class="code"
href="classprocess_1_1Owned.html">process::Owned<UriDiskProfileAdaptorProcess></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">process</a>;</div>
-<div class="line"><a name="l00192"></a><span class="lineno">
192</span> };</div>
-<div class="line"><a name="l00193"></a><span class="lineno">
193</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 
<span class="keyword">virtual</span> <a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a1d2f2b61514b04c2ab8615a4e331bfb2">~UriDiskProfileAdaptor</a>();</div>
+<div class="line"><a name="l00186"></a><span class="lineno">
186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
<span class="keyword">virtual</span> <a class="code"
href="classprocess_1_1Future.html">process::Future<DiskProfileAdaptor::ProfileInfo></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a805d75d0b0f8fdb303b6e3056b4c40c9">translate</a>(</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 
<span class="keyword">const</span> std::string& profile,</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 
<span class="keyword">const</span> ResourceProviderInfo&
resourceProviderInfo) <span class="keyword">override</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">
190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> 
<span class="keyword">virtual</span> <a class="code"
href="classprocess_1_1Future.html">process::Future<hashset<std::string></a>>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a7b2fa69e4f1d061c6da40f217da0121f">watch</a>(</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
<span class="keyword">const</span> <a class="code"
href="classhashset.html">hashset<std::string></a>&
knownProfiles,</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 
<span class="keyword">const</span> ResourceProviderInfo&
resourceProviderInfo) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno">
194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">
195</a></span> <span class="keyword">class </span><a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">UriDiskProfileAdaptorProcess</a>
:</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> 
<span class="keyword">public</span> <a class="code"
href="classprocess_1_1Process.html">process::Process</a><UriDiskProfileAdaptorProcess></div>
-<div class="line"><a name="l00197"></a><span class="lineno">
197</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno">
198</span> <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#ae6cf670e420497db950ddd2d75e22485">UriDiskProfileAdaptorProcess</a>(<span
class="keyword">const</span> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a>&
_flags);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">
195</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">
196</a></span>  <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a> <a
class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">flags</a>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">
197</a></span>  <a class="code"
href="classprocess_1_1Owned.html">process::Owned<UriDiskProfileAdaptorProcess></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">process</a>;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">
198</span> };</div>
+<div class="line"><a name="l00199"></a><span class="lineno">
199</span> </div>
<div class="line"><a name="l00200"></a><span class="lineno">
200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> 
<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a
class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a818172f9ea5940d28a1ea2012aa47640">initialize</a>()
<span class="keyword">override</span>;</div>
-<div class="line"><a name="l00202"></a><span class="lineno">
202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 
<a class="code"
href="classprocess_1_1Future.html">process::Future<mesos::DiskProfileAdaptor::ProfileInfo></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a33f06ad6fb652a6a22f713721ce77ba0">translate</a>(</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 
<span class="keyword">const</span> std::string& profile,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> 
<span class="keyword">const</span> std::string&
csiPluginInfoType);</div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="line"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">
201</a></span> <span class="keyword">class </span><a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">UriDiskProfileAdaptorProcess</a>
:</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> 
<span class="keyword">public</span> <a class="code"
href="classprocess_1_1Process.html">process::Process</a><UriDiskProfileAdaptorProcess></div>
+<div class="line"><a name="l00203"></a><span class="lineno">
203</span> {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">
204</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> 
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#ae6cf670e420497db950ddd2d75e22485">UriDiskProfileAdaptorProcess</a>(<span
class="keyword">const</span> <a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a>&
_flags);</div>
<div class="line"><a name="l00206"></a><span class="lineno">
206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 
<a class="code"
href="classprocess_1_1Future.html">process::Future<hashset<std::string></a>>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#ac75c49664666b6a0188a76353a726273">watch</a>(</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> 
<span class="keyword">const</span> <a class="code"
href="classhashset.html">hashset<std::string></a>&
knownProfiles,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> 
<span class="keyword">const</span> std::string&
csiPluginInfoType);</div>
-<div class="line"><a name="l00210"></a><span class="lineno">
210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno">
211</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
<span class="comment">// Helpers for fetching the `--uri`.</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> 
<span class="comment">// If `--poll_interval` is set, this method will
dispatch to itself with</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 
<span class="comment">// a delay once the fetch is complete.</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
<span class="keywordtype">void</span> poll();</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
<span class="keywordtype">void</span> _poll(<span class="keyword">const</span>
<a class="code" href="classTry.html">Try<std::string></a>&
fetched);</div>
-<div class="line"><a name="l00217"></a><span class="lineno">
217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
<span class="comment">// Helper that is called upon successfully polling and
parsing the `--uri`.</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> 
<span class="comment">// This method will check the following conditions
before updating the state</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> 
<span class="comment">// of the module:</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
<span class="comment">// * All known profiles must be included in the
updated set.</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
<span class="comment">// * All properties of known profiles must match those
in the updated set.</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
<span class="keywordtype">void</span> notify(<span
class="keyword">const</span> resource_provider::DiskProfileMapping&
parsed);</div>
-<div class="line"><a name="l00224"></a><span class="lineno">
224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno">
225</span> <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
<a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a> flags;</div>
-<div class="line"><a name="l00227"></a><span class="lineno">
227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
<span class="comment">// The last fetched profile mapping.</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> 
<span class="comment">// This module assumes that profiles can only be added
and never removed.</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 
<span class="comment">// Once added, profiles cannot be changed
either.</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 
<span class="comment">//</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> 
<span class="comment">// TODO(josephw): Consider persisting this mapping
across agent restarts.</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> 
std::map<std::string, DiskProfileAdaptor::ProfileInfo> data;</div>
-<div class="line"><a name="l00234"></a><span class="lineno">
234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> 
<span class="comment">// Convenience set of the keys in `data`
above.</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
<span class="comment">// This module does not filter based on
`CSIPluginInfo::type`, so this</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
<span class="comment">// is valid for all input to `watch(...)`.</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
<a class="code" href="classhashset.html">hashset<std::string></a>
profiles;</div>
-<div class="line"><a name="l00239"></a><span class="lineno">
239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
<span class="comment">// Will be satisfied whenever `data` is
changed.</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> 
<a class="code"
href="classprocess_1_1Owned.html">process::Owned<process::Promise<hashset<std::string></a>>>
watchPromise;</div>
-<div class="line"><a name="l00242"></a><span class="lineno">
242</span> };</div>
-<div class="line"><a name="l00243"></a><span class="lineno">
243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno">
244</span> } <span class="comment">// namespace profile {</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno">
245</span> } <span class="comment">// namespace internal {</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno">
246</span> } <span class="comment">// namespace mesos {</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno">
247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno">
248</span> <span class="preprocessor">#endif //
__RESOURCE_PROVIDER_URI_DISK_PROFILE_HPP__</span></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">mesos::internal::profile::UriDiskProfileAdaptor</a></div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:174</div></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 
<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a
class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a818172f9ea5940d28a1ea2012aa47640">initialize</a>()
<span class="keyword">override</span>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">
208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> 
<a class="code"
href="classprocess_1_1Future.html">process::Future<DiskProfileAdaptor::ProfileInfo></a>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#aac97559cdd80b5e951b51d90046cd456">translate</a>(</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 
<span class="keyword">const</span> std::string& profile,</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> 
<span class="keyword">const</span> ResourceProviderInfo&
resourceProviderInfo);</div>
+<div class="line"><a name="l00212"></a><span class="lineno">
212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> 
<a class="code"
href="classprocess_1_1Future.html">process::Future<hashset<std::string></a>>
<a class="code"
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a8e8a5728dc13fccd9a20a6f61c555571">watch</a>(</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 
<span class="keyword">const</span> <a class="code"
href="classhashset.html">hashset<std::string></a>&
knownProfiles,</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
<span class="keyword">const</span> ResourceProviderInfo&
resourceProviderInfo);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">
216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">
217</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
<span class="comment">// Helpers for fetching the `--uri`.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> 
<span class="comment">// If `--poll_interval` is set, this method will
dispatch to itself with</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> 
<span class="comment">// a delay once the fetch is complete.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
<span class="keywordtype">void</span> poll();</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
<span class="keywordtype">void</span> _poll(<span class="keyword">const</span>
<a class="code" href="classTry.html">Try<std::string></a>&
fetched);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">
223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 
<span class="comment">// Helper that is called upon successfully polling and
parsing the `--uri`.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> 
<span class="comment">// This method will check the following conditions
before updating the state</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
<span class="comment">// of the module:</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 
<span class="comment">// * All known profiles must be included in the
updated set.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
<span class="comment">// * All properties of known profiles must match those
in the updated set.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> 
<span class="keywordtype">void</span> notify(<span
class="keyword">const</span> resource_provider::DiskProfileMapping&
parsed);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">
230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">
231</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> 
<a class="code"
href="structmesos_1_1internal_1_1profile_1_1Flags.html">Flags</a> flags;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">
233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> 
<span class="comment">// The last fetched profile mapping.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> 
<span class="comment">// This module assumes that profiles can only be added
and never</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
<span class="comment">// removed. Once added, a profile's volume
capability and parameters</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
<span class="comment">// cannot be changed either.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
<span class="comment">//</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
<span class="comment">// TODO(josephw): Consider persisting this mapping
across agent restarts.</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
std::map<std::string,
resource_provider::DiskProfileMapping::CSIManifest></div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> 
profileMatrix;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">
242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> 
<span class="comment">// Will be satisfied whenever `profileMatrix` is
changed.</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 
<a class="code"
href="classprocess_1_1Owned.html">process::Owned<process::Promise<Nothing></a>>
watchPromise;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">
245</span> };</div>
+<div class="line"><a name="l00246"></a><span class="lineno">
246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">
247</span> } <span class="comment">// namespace profile {</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">
248</span> } <span class="comment">// namespace internal {</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">
249</span> } <span class="comment">// namespace mesos {</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">
250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">
251</span> <span class="preprocessor">#endif //
__RESOURCE_PROVIDER_URI_DISK_PROFILE_HPP__</span></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html">mesos::internal::profile::UriDiskProfileAdaptor</a></div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:180</div></div>
<div class="ttc" id="classError_html"><div class="ttname"><a
href="classError.html">Error</a></div><div class="ttdef"><b>Definition:</b>
errorbase.hpp:35</div></div>
<div class="ttc" id="classOption_html"><div class="ttname"><a
href="classOption.html">Option< Error ></a></div></div>
<div class="ttc"
id="structprocess_1_1http_1_1URL_html_aeb5accae04a1e271d4fdafa22131c150"><div
class="ttname"><a
href="structprocess_1_1http_1_1URL.html#aeb5accae04a1e271d4fdafa22131c150">process::http::URL::parse</a></div><div
class="ttdeci">static Try< URL > parse(const std::string
&urlString)</div></div>
<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_a818172f9ea5940d28a1ea2012aa47640"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a818172f9ea5940d28a1ea2012aa47640">mesos::internal::profile::UriDiskProfileAdaptorProcess::initialize</a></div><div
class="ttdeci">virtual void initialize() override</div><div
class="ttdoc">Invoked when a process gets spawned. </div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a72c674ee3bb60e8bf36b300e8eca67cc"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">mesos::internal::profile::UriDiskProfileAdaptor::flags</a></div><div
class="ttdeci">Flags flags</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:190</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a72c674ee3bb60e8bf36b300e8eca67cc"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a72c674ee3bb60e8bf36b300e8eca67cc">mesos::internal::profile::UriDiskProfileAdaptor::flags</a></div><div
class="ttdeci">Flags flags</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:196</div></div>
<div class="ttc" id="classTry_html"><div class="ttname"><a
href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b>
try.hpp:34</div></div>
<div class="ttc" id="classhashset_html"><div class="ttname"><a
href="classhashset.html">hashset< std::string ></a></div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_aac97559cdd80b5e951b51d90046cd456"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#aac97559cdd80b5e951b51d90046cd456">mesos::internal::profile::UriDiskProfileAdaptorProcess::translate</a></div><div
class="ttdeci">process::Future< DiskProfileAdaptor::ProfileInfo >
translate(const std::string &profile, const ResourceProviderInfo
&resourceProviderInfo)</div></div>
<div class="ttc" id="structmesos_1_1internal_1_1profile_1_1Flags_html"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html">mesos::internal::profile::Flags</a></div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:50</div></div>
<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a1d2f2b61514b04c2ab8615a4e331bfb2"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a1d2f2b61514b04c2ab8615a4e331bfb2">mesos::internal::profile::UriDiskProfileAdaptor::~UriDiskProfileAdaptor</a></div><div
class="ttdeci">virtual ~UriDiskProfileAdaptor()</div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a2a1bcf83da4e8e2ce2389fd929d4e99f"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a2a1bcf83da4e8e2ce2389fd929d4e99f">mesos::internal::profile::UriDiskProfileAdaptor::watch</a></div><div
class="ttdeci">virtual process::Future< hashset< std::string > >
watch(const hashset< std::string > &knownProfiles, const std::string
&csiPluginInfoType) override</div><div class="ttdoc">Returns a future that
will be satisifed iff the set of profiles known by the module differs from the
...</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a7b2fa69e4f1d061c6da40f217da0121f"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a7b2fa69e4f1d061c6da40f217da0121f">mesos::internal::profile::UriDiskProfileAdaptor::watch</a></div><div
class="ttdeci">virtual process::Future< hashset< std::string > >
watch(const hashset< std::string > &knownProfiles, const
ResourceProviderInfo &resourceProviderInfo) override</div><div
class="ttdoc">Returns a future that will be satisifed iff the set of profiles
known by the module differs from the ...</div></div>
<div class="ttc" id="classDuration_html"><div class="ttname"><a
href="classDuration.html">Duration</a></div><div
class="ttdef"><b>Definition:</b> duration.hpp:32</div></div>
<div class="ttc" id="classOption_html_a4e3bf8416d95246f43c91f1b5c309323"><div
class="ttname"><a
href="classOption.html#a4e3bf8416d95246f43c91f1b5c309323">Option::isSome</a></div><div
class="ttdeci">bool isSome() const </div><div class="ttdef"><b>Definition:</b>
option.hpp:115</div></div>
-<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_ae427888bb547a4bf70b07eb058419fb9"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">mesos::internal::profile::Flags::uri</a></div><div
class="ttdeci">Path uri</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:155</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a805d75d0b0f8fdb303b6e3056b4c40c9"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a805d75d0b0f8fdb303b6e3056b4c40c9">mesos::internal::profile::UriDiskProfileAdaptor::translate</a></div><div
class="ttdeci">virtual process::Future< DiskProfileAdaptor::ProfileInfo
> translate(const std::string &profile, const ResourceProviderInfo
&resourceProviderInfo) override</div><div class="ttdoc">Returns the CSI
volume capability and the parameters to create CSI volumes associated with the
profil...</div></div>
+<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_ae427888bb547a4bf70b07eb058419fb9"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae427888bb547a4bf70b07eb058419fb9">mesos::internal::profile::Flags::uri</a></div><div
class="ttdeci">Path uri</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:161</div></div>
<div class="ttc" id="disk__profile__utils_8hpp_html"><div class="ttname"><a
href="disk__profile__utils_8hpp.html">disk_profile_utils.hpp</a></div></div>
<div class="ttc"
id="namespacestrings_html_a269921757daf11096d3f5e02686f8444"><div
class="ttname"><a
href="namespacestrings.html#a269921757daf11096d3f5e02686f8444">strings::contains</a></div><div
class="ttdeci">bool contains(const std::string &s, const std::string
&substr)</div><div class="ttdef"><b>Definition:</b>
strings.hpp:406</div></div>
<div class="ttc" id="duration_8hpp_html"><div class="ttname"><a
href="duration_8hpp.html">duration.hpp</a></div></div>
-<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_a7bed0d3e77c8a7fadc6ca05cb84ea5bc"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">mesos::internal::profile::Flags::poll_interval</a></div><div
class="ttdeci">Option< Duration > poll_interval</div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:157</div></div>
+<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_a7bed0d3e77c8a7fadc6ca05cb84ea5bc"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#a7bed0d3e77c8a7fadc6ca05cb84ea5bc">mesos::internal::profile::Flags::poll_interval</a></div><div
class="ttdeci">Option< Duration > poll_interval</div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:163</div></div>
<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_afe9df0e0e5c89333004416eb5dc51349"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#afe9df0e0e5c89333004416eb5dc51349">mesos::internal::profile::UriDiskProfileAdaptor::UriDiskProfileAdaptor</a></div><div
class="ttdeci">UriDiskProfileAdaptor(const Flags &_flags)</div></div>
-<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_ae38e01d8f13ea537d91186e5b53efeb6"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">mesos::internal::profile::Flags::max_random_wait</a></div><div
class="ttdeci">Duration max_random_wait</div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:158</div></div>
+<div class="ttc"
id="structmesos_1_1internal_1_1profile_1_1Flags_html_ae38e01d8f13ea537d91186e5b53efeb6"><div
class="ttname"><a
href="structmesos_1_1internal_1_1profile_1_1Flags.html#ae38e01d8f13ea537d91186e5b53efeb6">mesos::internal::profile::Flags::max_random_wait</a></div><div
class="ttdeci">Duration max_random_wait</div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:164</div></div>
<div class="ttc" id="classPath_html"><div class="ttname"><a
href="classPath.html">Path</a></div><div class="ttdoc">Represents a POSIX or
Windows file system path and offers common path manipulations. </div><div
class="ttdef"><b>Definition:</b> path.hpp:145</div></div>
<div class="ttc" id="path_8hpp_html"><div class="ttname"><a
href="path_8hpp.html">path.hpp</a></div></div>
<div class="ttc" id="classSeconds_html"><div class="ttname"><a
href="classSeconds.html">Seconds</a></div><div class="ttdef"><b>Definition:</b>
duration.hpp:207</div></div>
<div class="ttc" id="classflags_1_1FlagsBase_html"><div class="ttname"><a
href="classflags_1_1FlagsBase.html">flags::FlagsBase</a></div><div
class="ttdef"><b>Definition:</b> flags.hpp:44</div></div>
<div class="ttc" id="3rdparty_2stout_2include_2stout_2flags_8hpp_html"><div
class="ttname"><a
href="3rdparty_2stout_2include_2stout_2flags_8hpp.html">flags.hpp</a></div></div>
<div class="ttc" id="classOption_html_a21358442c0fac1cc978a67a9a9089a79"><div
class="ttname"><a
href="classOption.html#a21358442c0fac1cc978a67a9a9089a79">Option::get</a></div><div
class="ttdeci">const T & get() const &</div><div
class="ttdef"><b>Definition:</b> option.hpp:118</div></div>
-<div class="ttc" id="classmesos_1_1DiskProfileAdaptor_html"><div
class="ttname"><a
href="classmesos_1_1DiskProfileAdaptor.html">mesos::DiskProfileAdaptor</a></div><div
class="ttdoc">This module is used by Storage Resource Providers to translate
the &quot;profile&quot; field of a Resource::Dis...</div><div
class="ttdef"><b>Definition:</b> disk_profile.hpp:50</div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a9e307897a4a26da842a50075ba91db0f"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">mesos::internal::profile::UriDiskProfileAdaptor::process</a></div><div
class="ttdeci">process::Owned< UriDiskProfileAdaptorProcess >
process</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:191</div></div>
+<div class="ttc" id="classmesos_1_1DiskProfileAdaptor_html"><div
class="ttname"><a
href="classmesos_1_1DiskProfileAdaptor.html">mesos::DiskProfileAdaptor</a></div><div
class="ttdoc">This module is used by Storage Resource Providers to translate
the &quot;profile&quot; field of a Resource::Dis...</div><div
class="ttdef"><b>Definition:</b> disk_profile.hpp:52</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a9e307897a4a26da842a50075ba91db0f"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a9e307897a4a26da842a50075ba91db0f">mesos::internal::profile::UriDiskProfileAdaptor::process</a></div><div
class="ttdeci">process::Owned< UriDiskProfileAdaptorProcess >
process</div><div class="ttdef"><b>Definition:</b>
uri_disk_profile.hpp:197</div></div>
<div class="ttc" id="classPath_html_a240c7b71a23c8e97b5490dbae75cc948"><div
class="ttname"><a
href="classPath.html#a240c7b71a23c8e97b5490dbae75cc948">Path::absolute</a></div><div
class="ttdeci">bool absolute() const </div><div
class="ttdef"><b>Definition:</b> path.hpp:306</div></div>
<div class="ttc" id="option_8hpp_html"><div class="ttname"><a
href="option_8hpp.html">option.hpp</a></div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_ac75c49664666b6a0188a76353a726273"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#ac75c49664666b6a0188a76353a726273">mesos::internal::profile::UriDiskProfileAdaptorProcess::watch</a></div><div
class="ttdeci">process::Future< hashset< std::string > >
watch(const hashset< std::string > &knownProfiles, const std::string
&csiPluginInfoType)</div></div>
<div class="ttc" id="classTry_html_aec4a11ddd3c036e889d90b7eb6258ba7"><div
class="ttname"><a
href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">Try::error</a></div><div
class="ttdeci">static Try error(const E &e)</div><div
class="ttdef"><b>Definition:</b> try.hpp:42</div></div>
<div class="ttc"
id="resource__provider_2storage_2disk__profile_8hpp_html"><div
class="ttname"><a
href="resource__provider_2storage_2disk__profile_8hpp.html">disk_profile.hpp</a></div></div>
<div class="ttc" id="future_8hpp_html"><div class="ttname"><a
href="future_8hpp.html">future.hpp</a></div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_a33f06ad6fb652a6a22f713721ce77ba0"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a33f06ad6fb652a6a22f713721ce77ba0">mesos::internal::profile::UriDiskProfileAdaptorProcess::translate</a></div><div
class="ttdeci">process::Future< mesos::DiskProfileAdaptor::ProfileInfo >
translate(const std::string &profile, const std::string
&csiPluginInfoType)</div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">mesos::internal::profile::UriDiskProfileAdaptorProcess</a></div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:195</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html">mesos::internal::profile::UriDiskProfileAdaptorProcess</a></div><div
class="ttdef"><b>Definition:</b> uri_disk_profile.hpp:201</div></div>
<div class="ttc" id="decoder_8hpp_html_abb0829cce9dd20a40ae0d86890ae85c6"><div
class="ttname"><a
href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a></div><div
class="ttdeci">#define flags</div><div class="ttdef"><b>Definition:</b>
decoder.hpp:18</div></div>
<div class="ttc" id="error_8hpp_html"><div class="ttname"><a
href="error_8hpp.html">error.hpp</a></div></div>
<div class="ttc" id="structNone_html"><div class="ttname"><a
href="structNone.html">None</a></div><div class="ttdef"><b>Definition:</b>
none.hpp:27</div></div>
@@ -343,11 +346,11 @@
<div class="ttc"
id="classflags_1_1FlagsBase_html_a09ebe840242a3b0fbd3263bb6c7ca226"><div
class="ttname"><a
href="classflags_1_1FlagsBase.html#a09ebe840242a3b0fbd3263bb6c7ca226">flags::FlagsBase::add</a></div><div
class="ttdeci">void add(T1 Flags::*t1, const Name &name, const Option<
Name > &alias, const std::string &help, const T2 *t2, F
validate)</div><div class="ttdef"><b>Definition:</b> flags.hpp:333</div></div>
<div class="ttc" id="owned_8hpp_html"><div class="ttname"><a
href="owned_8hpp.html">owned.hpp</a></div></div>
<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_ae6cf670e420497db950ddd2d75e22485"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#ae6cf670e420497db950ddd2d75e22485">mesos::internal::profile::UriDiskProfileAdaptorProcess::UriDiskProfileAdaptorProcess</a></div><div
class="ttdeci">UriDiskProfileAdaptorProcess(const Flags
&_flags)</div></div>
-<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor_html_a28f7504a35efefc91b93ab0f98039a36"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptor.html#a28f7504a35efefc91b93ab0f98039a36">mesos::internal::profile::UriDiskProfileAdaptor::translate</a></div><div
class="ttdeci">virtual process::Future<
mesos::DiskProfileAdaptor::ProfileInfo > translate(const std::string
&profile, const std::string &csiPluginInfoType) override</div><div
class="ttdoc">Called before a Storage Resource Provider makes an affected CSI
request. </div></div>
<div class="ttc" id="classprocess_1_1Owned_html"><div class="ttname"><a
href="classprocess_1_1Owned.html">process::Owned</a></div><div
class="ttdef"><b>Definition:</b> owned.hpp:35</div></div>
<div class="ttc"
id="namespacestrings_html_aa5513faacb213c7e097c0d43af43d9c7"><div
class="ttname"><a
href="namespacestrings.html#aa5513faacb213c7e097c0d43af43d9c7">strings::startsWith</a></div><div
class="ttdeci">bool startsWith(const std::string &s, const std::string
&prefix)</div><div class="ttdef"><b>Definition:</b>
strings.hpp:380</div></div>
<div class="ttc" id="classprocess_1_1Process_html"><div class="ttname"><a
href="classprocess_1_1Process.html">process::Process</a></div><div
class="ttdef"><b>Definition:</b> process.hpp:493</div></div>
<div class="ttc" id="classPath_html_a9d36a94d674e3f889eb8f46dc7a156b8"><div
class="ttname"><a
href="classPath.html#a9d36a94d674e3f889eb8f46dc7a156b8">Path::string</a></div><div
class="ttdeci">const std::string & string() const </div><div
class="ttdef"><b>Definition:</b> path.hpp:317</div></div>
+<div class="ttc"
id="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess_html_a8e8a5728dc13fccd9a20a6f61c555571"><div
class="ttname"><a
href="classmesos_1_1internal_1_1profile_1_1UriDiskProfileAdaptorProcess.html#a8e8a5728dc13fccd9a20a6f61c555571">mesos::internal::profile::UriDiskProfileAdaptorProcess::watch</a></div><div
class="ttdeci">process::Future< hashset< std::string > >
watch(const hashset< std::string > &knownProfiles, const
ResourceProviderInfo &resourceProviderInfo)</div></div>
<div class="ttc" id="include_2csi_2spec_8hpp_html"><div class="ttname"><a
href="include_2csi_2spec_8hpp.html">spec.hpp</a></div></div>
<div class="ttc"
id="3rdparty_2libprocess_2include_2process_2ssl_2flags_8hpp_html"><div
class="ttname"><a
href="3rdparty_2libprocess_2include_2process_2ssl_2flags_8hpp.html">flags.hpp</a></div></div>
<div class="ttc" id="libprocess_2include_2process_2process_8hpp_html"><div
class="ttname"><a
href="libprocess_2include_2process_2process_8hpp.html">process.hpp</a></div></div>