can run asynchronously on the RPC callee. More specifically, the
   callee extracts the "Future" returned by the wrapped function and
   installs subsequent processing steps as a callback to that
   "Future". The installed callback will read the value from the
   "Future" when completed and send the value back as the RPC
   response. That also means the returned "Future" only exists on the
   callee side and is never sent through RPC. This decorator is useful
   when the wrapped function's ("fn") execution needs to pause and
   resume due to, e.g., containing "rpc_async()" or waiting for other
   signals.
Note:
 To enable asynchronous execution, applications must pass the
 function object returned by this decorator to RPC APIs. If RPC
 detected attributes installed by this decorator, it knows that
 this function returns a "Future" object and will handle that
 accordingly. However, this does not mean this decorator has to be
