WebCFace 2.5.2
Web-based Communication Framework & Dashboard-like UI
|
非同期で実行した関数の実行結果を取得するインタフェース。 More...
#include <webcface/func_result.h>
Public Member Functions | |
Promise (const Field &base, const std::shared_ptr< internal::PromiseData > &data, const std::shared_future< bool > &started, const std::shared_future< ValAdaptor > &result) | |
bool | reached () const |
リモートに呼び出しメッセージが到達したかどうかを返す | |
bool | found () const |
呼び出した関数がリモートに存在するか(=実行が開始されたか)を返す | |
Promise & | waitReach () |
リモートに呼び出しメッセージが到達するまで待機 | |
Promise & | waitReachFor (std::chrono::microseconds timeout) |
リモートに呼び出しメッセージが到達するまで待機 | |
template<typename Clock , typename Duration > | |
Promise & | waitReachUntil (std::chrono::time_point< Clock, Duration > timeout) |
リモートに呼び出しメッセージが到達するまで待機 | |
bool | finished () const |
関数の実行が完了したかどうかを返す | |
bool | isError () const |
関数がエラーになったかどうかを返す | |
ValAdaptor | response () const |
関数の実行が完了した場合その戻り値を返す | |
const std::string & | rejection () const |
関数の実行がエラーになった場合そのエラーメッセージを返す | |
const std::wstring & | rejectionW () const |
関数の実行がエラーになった場合そのエラーメッセージを返す (wstring) | |
Promise & | waitFinish () |
関数の実行が完了するまで待機 | |
Promise & | waitFinishFor (std::chrono::microseconds timeout) |
関数の実行が完了するまで待機 | |
template<typename Clock , typename Duration > | |
Promise & | waitFinishUntil (std::chrono::time_point< Clock, Duration > timeout) |
関数の実行が完了するまで待機 | |
Promise & | onReach (std::function< void(Promise)> callback) |
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定 | |
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr> | |
Promise & | onReach (F callback) |
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定 | |
Promise & | onFinish (std::function< void(Promise)> callback) |
関数の実行が完了した時呼び出すコールバックを設定 | |
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr> | |
Promise & | onFinish (F callback) |
関数の実行が完了した時呼び出すコールバックを設定 | |
Member | member () const |
Memberを返す | |
const std::string & | name () const |
field名を返す | |
const std::wstring & | nameW () const |
field名を返す (wstring) | |
Public Attributes | |
std::shared_future< bool > | started |
リモートに呼び出しメッセージが到達したときに値が入る | |
std::shared_future< ValAdaptor > | result |
関数の実行が完了した時戻り値が入る | |
非同期で実行した関数の実行結果を取得するインタフェース。
ver1.11まではAsyncFuncResult、ver2.0からPromiseに名前変更
Promise | ( | const Field & | base, |
const std::shared_ptr< internal::PromiseData > & | data, | ||
const std::shared_future< bool > & | started, | ||
const std::shared_future< ValAdaptor > & | result | ||
) |
bool finished | ( | ) | const |
関数の実行が完了したかどうかを返す
finishedがtrueの場合、 response() または rejection() (rejectionW()) のどちらかに結果が入る。
bool found | ( | ) | const |
呼び出した関数がリモートに存在するか(=実行が開始されたか)を返す
bool isError | ( | ) | const |
関数がエラーになったかどうかを返す
Member member | ( | ) | const |
Memberを返す
|
inline |
field名を返す
|
inline |
field名を返す (wstring)
|
inline |
関数の実行が完了した時呼び出すコールバックを設定
callback | 引数をとらない関数 |
関数の実行が完了した時呼び出すコールバックを設定
callback | 引数にPromiseをとる関数 |
|
inline |
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定
callback | 引数をとらない関数 |
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定
callback | 引数にPromiseをとる関数 |
bool reached | ( | ) | const |
リモートに呼び出しメッセージが到達したかどうかを返す
const std::string & rejection | ( | ) | const |
関数の実行がエラーになった場合そのエラーメッセージを返す
const std::wstring & rejectionW | ( | ) | const |
ValAdaptor response | ( | ) | const |
関数の実行が完了した場合その戻り値を返す
|
inline |
関数の実行が完了するまで待機
|
inline |
関数の実行が完了するまで待機
|
inline |
関数の実行が完了するまで待機
|
inline |
リモートに呼び出しメッセージが到達するまで待機
|
inline |
リモートに呼び出しメッセージが到達するまで待機
|
inline |
リモートに呼び出しメッセージが到達するまで待機
std::shared_future<ValAdaptor> result |
関数の実行が完了した時戻り値が入る
ver2.0〜: 例外はresultにexceptionとして格納されるが、 そのエラーメッセージにはutf-8ではないstringが使われる
std::shared_future<bool> started |
リモートに呼び出しメッセージが到達したときに値が入る
実行開始したらtrue, 呼び出しに失敗したらfalseが返る。 falseの場合resultにFuncNotFound例外が入る