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/05/23 23:55:22 UTC
[10/26] mesos-site git commit: Updated the website built from mesos
SHA: 3d2a1fd.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/index.hhp
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/index.hhp b/content/api/latest/c++/index.hhp
index 9f630ca..8c6c157 100644
--- a/content/api/latest/c++/index.hhp
+++ b/content/api/latest/c++/index.hhp
@@ -3031,13 +3031,17 @@ classprocess_1_1firewall_1_1DisabledEndpointsFirewallRule-members.html
classprocess_1_1firewall_1_1FirewallRule.html
classprocess_1_1firewall_1_1FirewallRule-members.html
namespaceprocess_1_1grpc.html
-classprocess_1_1grpc_1_1Channel.html
-classprocess_1_1grpc_1_1Channel-members.html
-structprocess_1_1grpc_1_1RpcResult.html
-structprocess_1_1grpc_1_1RpcResult-members.html
+classprocess_1_1grpc_1_1StatusError.html
+classprocess_1_1grpc_1_1StatusError-members.html
namespaceprocess_1_1grpc_1_1client.html
+classprocess_1_1grpc_1_1client_1_1Connection.html
+classprocess_1_1grpc_1_1client_1_1Connection-members.html
classprocess_1_1grpc_1_1client_1_1Runtime.html
classprocess_1_1grpc_1_1client_1_1Runtime-members.html
+namespaceprocess_1_1grpc_1_1client_1_1internal.html
+structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits.html
+structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits_3_01std_1_1unique__ptr_3_1_1grpc_1_1b922a69900827d65b241714130bc07ca.html
+structprocess_1_1grpc_1_1client_1_1internal_1_1MethodTraits_3_01std_1_1unique__ptr_3_1_1grpc_1_19b770dc78e11f9f674179c48295eb8ff.html
namespaceprocess_1_1http.html
structprocess_1_1http_1_1Accepted.html
structprocess_1_1http_1_1Accepted-members.html
@@ -4149,6 +4153,7 @@ classprocess_1_1TestsFilter.png
structprocess_1_1UPID.png
classprocess_1_1firewall_1_1DisabledEndpointsFirewallRule.png
classprocess_1_1firewall_1_1FirewallRule.png
+classprocess_1_1grpc_1_1StatusError.png
structprocess_1_1http_1_1Accepted.png
structprocess_1_1http_1_1BadRequest.png
structprocess_1_1http_1_1Conflict.png
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/ipc_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/ipc_8hpp_source.html b/content/api/latest/c++/ipc_8hpp_source.html
index e699f93..8aab385 100644
--- a/content/api/latest/c++/ipc_8hpp_source.html
+++ b/content/api/latest/c++/ipc_8hpp_source.html
@@ -66,7 +66,7 @@
<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess_html_a35bbc688fd80c0d07aefdce099a8e3f9"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html#a35bbc688fd80c0d07aefdce099a8e3f9">mesos::internal::slave::NamespacesIPCIsolatorProcess::supportsNesting</a></div><div class="ttdeci">virtual bool supportsNesting()</div></div>
<div class="ttc" id="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess_html_af55cced1706b987e9a188d946bd69894"><div class="ttname"><a href="classmesos_1_1internal_1_1slave_1_1NamespacesIPCIsolatorProcess.html#af55cced1706b987e9a188d946bd69894">mesos::internal::slave::NamespacesIPCIsolatorProcess::prepare</a></div><div class="ttdeci">virtual process::Future< Option< mesos::slave::ContainerLaunchInfo > > prepare(const ContainerID &containerId, const mesos::slave::ContainerConfig &containerConfig)</div></div>
<div class="ttc" id="namespaceflags_html"><div class="ttname"><a href="namespaceflags.html">flags</a></div><div class="ttdef"><b>Definition:</b> parse.hpp:33</div></div>
-<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:57</div></div>
+<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/jwt__secret__generator_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/jwt__secret__generator_8hpp_source.html b/content/api/latest/c++/jwt__secret__generator_8hpp_source.html
index e3fb4ec..33e1308 100644
--- a/content/api/latest/c++/jwt__secret__generator_8hpp_source.html
+++ b/content/api/latest/c++/jwt__secret__generator_8hpp_source.html
@@ -62,7 +62,7 @@
<div class="ttc" id="structprocess_1_1http_1_1authentication_1_1Principal_html"><div class="ttname"><a href="structprocess_1_1http_1_1authentication_1_1Principal.html">process::http::authentication::Principal</a></div><div class="ttdoc">Contains information associated with an authenticated principal. </div><div class="ttdef"><b>Definition:</b> authenticator.hpp:41</div></div>
<div class="ttc" id="3rdparty_2libprocess_2include_2process_2authenticator_8hpp_html"><div class="ttname"><a href="3rdparty_2libprocess_2include_2process_2authenticator_8hpp.html">authenticator.hpp</a></div></div>
<div class="ttc" id="classmesos_1_1authentication_1_1executor_1_1JWTSecretGenerator_html_aeaf52fab52398d9bf78dc69d9961b07f"><div class="ttname"><a href="classmesos_1_1authentication_1_1executor_1_1JWTSecretGenerator.html#aeaf52fab52398d9bf78dc69d9961b07f">mesos::authentication::executor::JWTSecretGenerator::~JWTSecretGenerator</a></div><div class="ttdeci">~JWTSecretGenerator() override</div></div>
-<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:57</div></div>
+<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/lib__logrotate_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/lib__logrotate_8hpp_source.html b/content/api/latest/c++/lib__logrotate_8hpp_source.html
index aee4fd9..216a929 100644
--- a/content/api/latest/c++/lib__logrotate_8hpp_source.html
+++ b/content/api/latest/c++/lib__logrotate_8hpp_source.html
@@ -103,7 +103,7 @@
<div class="ttc" id="structmesos_1_1internal_1_1logger_1_1Flags_html_a68a07a76e5b8842c754852a424d12525"><div class="ttname"><a href="structmesos_1_1internal_1_1logger_1_1Flags.html#a68a07a76e5b8842c754852a424d12525">mesos::internal::logger::Flags::launcher_dir</a></div><div class="ttdeci">std::string launcher_dir</div><div class="ttdef"><b>Definition:</b> lib_logrotate.hpp:179</div></div>
<div class="ttc" id="3rdparty_2stout_2include_2stout_2os_2constants_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2os_2constants_8hpp.html">constants.hpp</a></div></div>
<div class="ttc" id="structmesos_1_1internal_1_1logger_1_1LoggerFlags_html_a324f6d7bd9a854fb74465d84cbfffd46"><div class="ttname"><a href="structmesos_1_1internal_1_1logger_1_1LoggerFlags.html#a324f6d7bd9a854fb74465d84cbfffd46">mesos::internal::logger::LoggerFlags::max_stderr_size</a></div><div class="ttdeci">Bytes max_stderr_size</div><div class="ttdef"><b>Definition:</b> lib_logrotate.hpp:103</div></div>
-<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:57</div></div>
+<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/libev_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/libev_8hpp_source.html b/content/api/latest/c++/libev_8hpp_source.html
index cf3feb2..3af9813 100644
--- a/content/api/latest/c++/libev_8hpp_source.html
+++ b/content/api/latest/c++/libev_8hpp_source.html
@@ -59,7 +59,7 @@
<div class="ttc" id="namespaceprocess_html_a73ddff05d642ba235230804b85c7ee43"><div class="ttname"><a href="namespaceprocess.html#a73ddff05d642ba235230804b85c7ee43">process::watchers</a></div><div class="ttdeci">std::queue< ev_io * > * watchers</div></div>
<div class="ttc" id="libev_8hpp_html_a8a6cf2ec36d767c973bd04779f513986"><div class="ttname"><a href="libev_8hpp.html#a8a6cf2ec36d767c973bd04779f513986">__in_event_loop__</a></div><div class="ttdeci">#define __in_event_loop__</div><div class="ttdef"><b>Definition:</b> libev.hpp:51</div></div>
<div class="ttc" id="lambda_8hpp_html"><div class="ttname"><a href="lambda_8hpp.html">lambda.hpp</a></div></div>
-<div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise</a></div><div class="ttdef"><b>Definition:</b> future.hpp:73</div></div>
+<div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise</a></div><div class="ttdef"><b>Definition:</b> future.hpp:74</div></div>
<div class="ttc" id="namespaceprocess_html_a59c192ee8ea5abbbee1642957f47c92a"><div class="ttname"><a href="namespaceprocess.html#a59c192ee8ea5abbbee1642957f47c92a">process::loop</a></div><div class="ttdeci">struct ev_loop * loop</div><div class="ttdef"><b>Definition:</b> loop.hpp:456</div></div>
<div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_a3b1f8bd7b18c51af9d1f58842950b545"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">mesos::internal::log::protocol::promise</a></div><div class="ttdeci">Protocol< PromiseRequest, PromiseResponse > promise</div></div>
<div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
@@ -71,7 +71,7 @@
<div class="ttc" id="namespaceprocess_1_1network_html_ad067110a4b38cc83785a43f49bf6c8e2"><div class="ttname"><a href="namespaceprocess_1_1network.html#ad067110a4b38cc83785a43f49bf6c8e2">process::network::bind</a></div><div class="ttdeci">Try< Nothing > bind(int_fd s, const Address &address)</div><div class="ttdef"><b>Definition:</b> network.hpp:46</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:36</div></div>
<div class="ttc" id="namespaceprocess_html_ac2a375f1a48140736670146a43426b85"><div class="ttname"><a href="namespaceprocess.html#ac2a375f1a48140736670146a43426b85">process::watchers_mutex</a></div><div class="ttdeci">std::mutex * watchers_mutex</div></div>
-<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:57</div></div>
+<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/libevent__ssl__socket_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/libevent__ssl__socket_8hpp_source.html b/content/api/latest/c++/libevent__ssl__socket_8hpp_source.html
index ab3954c..00d497d 100644
--- a/content/api/latest/c++/libevent__ssl__socket_8hpp_source.html
+++ b/content/api/latest/c++/libevent__ssl__socket_8hpp_source.html
@@ -67,7 +67,7 @@
<div class="ttc" id="classprocess_1_1network_1_1internal_1_1SocketImpl_html_a2289c8b4a10fae48e88518019c900c5a"><div class="ttname"><a href="classprocess_1_1network_1_1internal_1_1SocketImpl.html#a2289c8b4a10fae48e88518019c900c5a">process::network::internal::SocketImpl::address</a></div><div class="ttdeci">Try< Address > address() const </div><div class="ttdoc">Returns the Address with the assigned ip and assigned port. </div></div>
<div class="ttc" id="classprocess_1_1network_1_1internal_1_1LibeventSSLSocketImpl_html_ad0ecd3ed460c9cf93b32e4d68b0107e7"><div class="ttname"><a href="classprocess_1_1network_1_1internal_1_1LibeventSSLSocketImpl.html#ad0ecd3ed460c9cf93b32e4d68b0107e7">process::network::internal::LibeventSSLSocketImpl::kind</a></div><div class="ttdeci">SocketImpl::Kind kind() const override</div><div class="ttdef"><b>Definition:</b> libevent_ssl_socket.hpp:50</div></div>
<div class="ttc" id="classprocess_1_1network_1_1internal_1_1SocketImpl_html"><div class="ttname"><a href="classprocess_1_1network_1_1internal_1_1SocketImpl.html">process::network::internal::SocketImpl</a></div><div class="ttdoc">Implementation interface for a Socket. </div><div class="ttdef"><b>Definition:</b> socket.hpp:56</div></div>
-<div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise</a></div><div class="ttdef"><b>Definition:</b> future.hpp:73</div></div>
+<div class="ttc" id="classprocess_1_1Promise_html"><div class="ttname"><a href="classprocess_1_1Promise.html">process::Promise</a></div><div class="ttdef"><b>Definition:</b> future.hpp:74</div></div>
<div class="ttc" id="libprocess_2include_2process_2socket_8hpp_html"><div class="ttname"><a href="libprocess_2include_2process_2socket_8hpp.html">socket.hpp</a></div></div>
<div class="ttc" id="namespacemesos_1_1internal_1_1log_1_1protocol_html_a3b1f8bd7b18c51af9d1f58842950b545"><div class="ttname"><a href="namespacemesos_1_1internal_1_1log_1_1protocol.html#a3b1f8bd7b18c51af9d1f58842950b545">mesos::internal::log::protocol::promise</a></div><div class="ttdeci">Protocol< PromiseRequest, PromiseResponse > promise</div></div>
<div class="ttc" id="classprocess_1_1network_1_1internal_1_1LibeventSSLSocketImpl_html_ad2077833906c7d37189588ff67b43a20"><div class="ttname"><a href="classprocess_1_1network_1_1internal_1_1LibeventSSLSocketImpl.html#ad2077833906c7d37189588ff67b43a20">process::network::internal::LibeventSSLSocketImpl::~LibeventSSLSocketImpl</a></div><div class="ttdeci">~LibeventSSLSocketImpl() override</div></div>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/805f4c5b/content/api/latest/c++/libprocess_2include_2process_2check_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/libprocess_2include_2process_2check_8hpp_source.html b/content/api/latest/c++/libprocess_2include_2process_2check_8hpp_source.html
index e7f1017..92d8fd9 100644
--- a/content/api/latest/c++/libprocess_2include_2process_2check_8hpp_source.html
+++ b/content/api/latest/c++/libprocess_2include_2process_2check_8hpp_source.html
@@ -52,26 +52,26 @@
<div class="title">check.hpp</div> </div>
</div><!--header-->
<div class="contents">
-<a href="libprocess_2include_2process_2check_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <s
pan class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span
> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifndef __PROCESS_CHECK_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define __PROCESS_CHECK_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <<a class="code" href="stout_2include_2stout_2check_8hpp.html">stout/check.hpp</a>></span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <<a class="code" href="option_8hpp.html">stout/o
ption.hpp</a>></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <<a class="code" href="future_8hpp.html">process/future.hpp</a>></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// Provides a CHECK_PENDING macro, akin to CHECK.</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// This appends the error if possible to the end of the log message, so there's</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// no need to append the error message explicitly.</span></div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href=
"libprocess_2include_2process_2check_8hpp.html#a3e2ba5c8589f7f5799251a12409e142c"> 26</a></span> <span class="preprocessor">#define CHECK_PENDING(expression) \</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"> CHECK_STATE(CHECK_PENDING, _check_pending, expression)</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140"> 29</a></span> <span class="preprocessor">#define CHECK_READY(expression) \</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"> CHECK_STATE(CHECK_READY, _check_ready, expression)</span></div><div class="line"><a name="l00031"></a><span class="li
neno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a4edf36ad649dd87b5e6c199b99805c3c"> 32</a></span> <span class="preprocessor">#define CHECK_DISCARDED(expression) \</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"> CHECK_STATE(CHECK_DISCARDED, _check_discarded, expression)</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a16ba39848d6ce5c97783aef37c5846e0"> 35</a></span> <span class="preprocessor">#define CHECK_FAILED(expression) \</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"> CH
ECK_STATE(CHECK_FAILED, _check_failed, expression)</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a055321ef5a02c5ca1d39ca7bef7a1232"> 38</a></span> <span class="preprocessor">#define CHECK_ABANDONED(expression) \</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"> CHECK_STATE(CHECK_ABANDONED, _check_abandoned, expression)</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Private structs/functions used for CHECK_*.</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span cl
ass="lineno"> 43</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#ac22b41cec5d22e671e56492ef1439c9c"> 44</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#ac22b41cec5d22e671e56492ef1439c9c">_check_pending</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isRe
ady</a>()) {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f8
1e2ec">isFailed</a>()) {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>());</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></
a><span class="lineno"> 56</span> }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a621efa2d017ccc6c7eb7c128efc9108d"> 60</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a621efa2d017ccc6c7eb7c128efc9108d">_check_ready</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l0006
1"></a><span class="lineno"> 61</span> {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is DI
SCARDED"</span>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>());</div><div class="line"><a name="l00070"></a>
<span class="lineno"> 70</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a43d01cdf02bf28caeaecb656899b9434"> 76</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a43d01cdf02bf28caeaecb656899b943
4">_check_discarded</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f
241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  } <span class="keywordf
low">else</span> {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>());</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="libp
rocess_2include_2process_2check_8hpp.html#a1c78cc5343f9e5270d4b11c208c6f14a"> 92</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a1c78cc5343f9e5270d4b11c208c6f14a">_check_failed</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a
020">Some</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</
span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</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> }</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="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a4cc40ed4d851706f59d5de5c55545517"> 108</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a4cc40ed4d851706f59d5de5c55545517">_check_abandoned</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</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">if</span> (f.<a class="code" href="classprocess_1_1Fut
ure.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  } <span class="keywordflow">else</span> <span
class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!f.<a class="code" href="classprocess_1_1Future.html#aff9a28bc06c115d1e59063c15e526739">isAbandoned</a>()) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span cla
ss="stringliteral">"is not abandoned"</span>);</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>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</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> <span class="comment">// TODO(dhamon): CHECK_NPENDING, CHECK_NREADY, etc.</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif // __PROCESS_CHECK_HPP__</span></div><div class="ttc" id="classprocess_1_1Future_html_a68f241961e700d0cecf982d9cc0043d7"><div class="ttname"><a
href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">process::Future::isReady</a></div><div class="ttdeci">bool isReady() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1220</div></div>
+<a href="libprocess_2include_2process_2check_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <s
pan class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span
> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifndef __PROCESS_CHECK_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define __PROCESS_CHECK_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <<a class="code" href="stout_2include_2stout_2check_8hpp.html">stout/check.hpp</a>></span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <<a class="code" href="option_8hpp.html">stout/o
ption.hpp</a>></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <<a class="code" href="future_8hpp.html">process/future.hpp</a>></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// Provides a CHECK_PENDING macro, akin to CHECK.</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// This appends the error if possible to the end of the log message, so there's</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// no need to append the error message explicitly.</span></div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href=
"libprocess_2include_2process_2check_8hpp.html#a3e2ba5c8589f7f5799251a12409e142c"> 26</a></span> <span class="preprocessor">#define CHECK_PENDING(expression) \</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"> CHECK_STATE(CHECK_PENDING, _check_pending, expression)</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a55bf53e1f554470600774a6bf0c09140"> 29</a></span> <span class="preprocessor">#define CHECK_READY(expression) \</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"> CHECK_STATE(CHECK_READY, _check_ready, expression)</span></div><div class="line"><a name="l00031"></a><span class="li
neno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a4edf36ad649dd87b5e6c199b99805c3c"> 32</a></span> <span class="preprocessor">#define CHECK_DISCARDED(expression) \</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"> CHECK_STATE(CHECK_DISCARDED, _check_discarded, expression)</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a16ba39848d6ce5c97783aef37c5846e0"> 35</a></span> <span class="preprocessor">#define CHECK_FAILED(expression) \</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"> CH
ECK_STATE(CHECK_FAILED, _check_failed, expression)</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a055321ef5a02c5ca1d39ca7bef7a1232"> 38</a></span> <span class="preprocessor">#define CHECK_ABANDONED(expression) \</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"> CHECK_STATE(CHECK_ABANDONED, _check_abandoned, expression)</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Private structs/functions used for CHECK_*.</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span cl
ass="lineno"> 43</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#ac22b41cec5d22e671e56492ef1439c9c"> 44</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#ac22b41cec5d22e671e56492ef1439c9c">_check_pending</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isRe
ady</a>()) {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f8
1e2ec">isFailed</a>()) {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>());</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></
a><span class="lineno"> 56</span> }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a621efa2d017ccc6c7eb7c128efc9108d"> 60</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a621efa2d017ccc6c7eb7c128efc9108d">_check_ready</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l0006
1"></a><span class="lineno"> 61</span> {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is DI
SCARDED"</span>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>());</div><div class="line"><a name="l00070"></a>
<span class="lineno"> 70</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a43d01cdf02bf28caeaecb656899b9434"> 76</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a43d01cdf02bf28caeaecb656899b943
4">_check_discarded</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f
241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  } <span class="keywordf
low">else</span> {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>());</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="libp
rocess_2include_2process_2check_8hpp.html#a1c78cc5343f9e5270d4b11c208c6f14a"> 92</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a1c78cc5343f9e5270d4b11c208c6f14a">_check_failed</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">isPending</a>()) {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a
020">Some</a>(<span class="stringliteral">"is PENDING"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</
span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  CHECK(f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</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> }</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="keyword">template</span> <<span class="keyword">typename</span> T></div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="libprocess_2include_2process_2check_8hpp.html#a4cc40ed4d851706f59d5de5c55545517"> 108</a></span> <a class="code" href="classOption.html">Option<Error></a> <a class="code" href="libprocess_2include_2process_2check_8hpp.html#a4cc40ed4d851706f59d5de5c55545517">_check_abandoned</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1Future.html">process::Future<T></a>& <a class="code" href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">f</a>)</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">if</span> (f.<a class="code" href="classprocess_1_1Fut
ure.html#a68f241961e700d0cecf982d9cc0043d7">isReady</a>()) {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is READY"</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">isDiscarded</a>()) {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is DISCARDED"</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  } <span class="keywordflow">else</span> <span
class="keywordflow">if</span> (f.<a class="code" href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">isFailed</a>()) {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span class="stringliteral">"is FAILED: "</span> + f.<a class="code" href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">failure</a>());</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!f.<a class="code" href="classprocess_1_1Future.html#aff9a28bc06c115d1e59063c15e526739">isAbandoned</a>()) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> <a class="code" href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a>(<span cla
ss="stringliteral">"is not abandoned"</span>);</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>  <span class="keywordflow">return</span> <a class="code" href="structNone.html">None</a>();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</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> <span class="comment">// TODO(dhamon): CHECK_NPENDING, CHECK_NREADY, etc.</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif // __PROCESS_CHECK_HPP__</span></div><div class="ttc" id="classprocess_1_1Future_html_a68f241961e700d0cecf982d9cc0043d7"><div class="ttname"><a
href="classprocess_1_1Future.html#a68f241961e700d0cecf982d9cc0043d7">process::Future::isReady</a></div><div class="ttdeci">bool isReady() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1227</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:36</div></div>
<div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option< Error ></a></div></div>
<div class="ttc" id="namespaceprocess_html_a62d5333e8ec1817c249cf83e15d568b4"><div class="ttname"><a href="namespaceprocess.html#a62d5333e8ec1817c249cf83e15d568b4">process::f</a></div><div class="ttdeci">F && f</div><div class="ttdef"><b>Definition:</b> defer.hpp:270</div></div>
<div class="ttc" id="libprocess_2include_2process_2check_8hpp_html_a4cc40ed4d851706f59d5de5c55545517"><div class="ttname"><a href="libprocess_2include_2process_2check_8hpp.html#a4cc40ed4d851706f59d5de5c55545517">_check_abandoned</a></div><div class="ttdeci">Option< Error > _check_abandoned(const process::Future< T > &f)</div><div class="ttdef"><b>Definition:</b> check.hpp:108</div></div>
<div class="ttc" id="libprocess_2include_2process_2check_8hpp_html_a1c78cc5343f9e5270d4b11c208c6f14a"><div class="ttname"><a href="libprocess_2include_2process_2check_8hpp.html#a1c78cc5343f9e5270d4b11c208c6f14a">_check_failed</a></div><div class="ttdeci">Option< Error > _check_failed(const process::Future< T > &f)</div><div class="ttdef"><b>Definition:</b> check.hpp:92</div></div>
<div class="ttc" id="stout_2include_2stout_2check_8hpp_html"><div class="ttname"><a href="stout_2include_2stout_2check_8hpp.html">check.hpp</a></div></div>
-<div class="ttc" id="classprocess_1_1Future_html_af23884cf963eb5ec061595eb2e288903"><div class="ttname"><a href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">process::Future::isPending</a></div><div class="ttdeci">bool isPending() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1213</div></div>
+<div class="ttc" id="classprocess_1_1Future_html_af23884cf963eb5ec061595eb2e288903"><div class="ttname"><a href="classprocess_1_1Future.html#af23884cf963eb5ec061595eb2e288903">process::Future::isPending</a></div><div class="ttdeci">bool isPending() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1220</div></div>
<div class="ttc" id="libprocess_2include_2process_2check_8hpp_html_ac22b41cec5d22e671e56492ef1439c9c"><div class="ttname"><a href="libprocess_2include_2process_2check_8hpp.html#ac22b41cec5d22e671e56492ef1439c9c">_check_pending</a></div><div class="ttdeci">Option< Error > _check_pending(const process::Future< T > &f)</div><div class="ttdef"><b>Definition:</b> check.hpp:44</div></div>
-<div class="ttc" id="classprocess_1_1Future_html_abc89036db733a417b7b383b091efaf3c"><div class="ttname"><a href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">process::Future::isDiscarded</a></div><div class="ttdeci">bool isDiscarded() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1227</div></div>
+<div class="ttc" id="classprocess_1_1Future_html_abc89036db733a417b7b383b091efaf3c"><div class="ttname"><a href="classprocess_1_1Future.html#abc89036db733a417b7b383b091efaf3c">process::Future::isDiscarded</a></div><div class="ttdeci">bool isDiscarded() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1234</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="libprocess_2include_2process_2check_8hpp_html_a43d01cdf02bf28caeaecb656899b9434"><div class="ttname"><a href="libprocess_2include_2process_2check_8hpp.html#a43d01cdf02bf28caeaecb656899b9434">_check_discarded</a></div><div class="ttdeci">Option< Error > _check_discarded(const process::Future< T > &f)</div><div class="ttdef"><b>Definition:</b> check.hpp:76</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="some_8hpp_html_a2048f5c3b4ee79448c012cf6dc82a020"><div class="ttname"><a href="some_8hpp.html#a2048f5c3b4ee79448c012cf6dc82a020">Some</a></div><div class="ttdeci">_Some< typename std::decay< T >::type > Some(T &&t)</div><div class="ttdef"><b>Definition:</b> some.hpp:42</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>
-<div class="ttc" id="classprocess_1_1Future_html_aff9a28bc06c115d1e59063c15e526739"><div class="ttname"><a href="classprocess_1_1Future.html#aff9a28bc06c115d1e59063c15e526739">process::Future::isAbandoned</a></div><div class="ttdeci">bool isAbandoned() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1241</div></div>
-<div class="ttc" id="classprocess_1_1Future_html_ae649c56b07f44c05e4b7aa3620133ff9"><div class="ttname"><a href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">process::Future::failure</a></div><div class="ttdeci">const std::string & failure() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1325</div></div>
+<div class="ttc" id="classprocess_1_1Future_html_aff9a28bc06c115d1e59063c15e526739"><div class="ttname"><a href="classprocess_1_1Future.html#aff9a28bc06c115d1e59063c15e526739">process::Future::isAbandoned</a></div><div class="ttdeci">bool isAbandoned() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1248</div></div>
+<div class="ttc" id="classprocess_1_1Future_html_ae649c56b07f44c05e4b7aa3620133ff9"><div class="ttname"><a href="classprocess_1_1Future.html#ae649c56b07f44c05e4b7aa3620133ff9">process::Future::failure</a></div><div class="ttdeci">const std::string & failure() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1332</div></div>
<div class="ttc" id="libprocess_2include_2process_2check_8hpp_html_a621efa2d017ccc6c7eb7c128efc9108d"><div class="ttname"><a href="libprocess_2include_2process_2check_8hpp.html#a621efa2d017ccc6c7eb7c128efc9108d">_check_ready</a></div><div class="ttdeci">Option< Error > _check_ready(const process::Future< T > &f)</div><div class="ttdef"><b>Definition:</b> check.hpp:60</div></div>
-<div class="ttc" id="classprocess_1_1Future_html_a493227e57f8848e37777b89c0f81e2ec"><div class="ttname"><a href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">process::Future::isFailed</a></div><div class="ttdeci">bool isFailed() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1234</div></div>
-<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:57</div></div>
+<div class="ttc" id="classprocess_1_1Future_html_a493227e57f8848e37777b89c0f81e2ec"><div class="ttname"><a href="classprocess_1_1Future.html#a493227e57f8848e37777b89c0f81e2ec">process::Future::isFailed</a></div><div class="ttdeci">bool isFailed() const </div><div class="ttdef"><b>Definition:</b> future.hpp:1241</div></div>
+<div class="ttc" id="classprocess_1_1Future_html"><div class="ttname"><a href="classprocess_1_1Future.html">process::Future</a></div><div class="ttdef"><b>Definition:</b> future.hpp:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>