8#include "webcface/common/webcface-config.h"
31 std::shared_ptr<internal::PromiseData> data;
37 const std::shared_ptr<internal::PromiseData> &data);
44 void waitReachImpl(std::optional<std::chrono::microseconds> timeout)
const;
45 void waitFinishImpl(std::optional<std::chrono::microseconds> timeout)
const;
81 waitReachImpl(std::nullopt);
93 waitReachImpl(timeout);
104 template <
typename Clock,
typename Duration>
106 waitReachImpl(std::chrono::duration_cast<std::chrono::microseconds>(
107 timeout - Clock::now()));
119 bool finished()
const;
130 bool isError()
const;
171 waitFinishImpl(std::nullopt);
183 waitFinishImpl(timeout);
194 template <
typename Clock,
typename Duration>
196 waitFinishImpl(std::chrono::duration_cast<std::chrono::microseconds>(
197 timeout - Clock::now()));
227 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
228 std::
nullptr_t> =
nullptr>
231 [callback = std::move(callback)](
const Promise &) { callback(); });
258 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
259 std::
nullptr_t> =
nullptr>
262 [callback = std::move(callback)](
const Promise &) { callback(); });
276 std::shared_ptr<internal::PromiseData> data;
283 const std::shared_ptr<internal::PromiseData> &data);
299 const std::vector<ValAdaptorVector> &args()
const;
322 void reach(
bool found)
const;
334 bool assertArgsNum(std::size_t expected)
const;
344 template <
typename T>
384 bool respondable()
const;
呼び出された関数の引数の取得と戻り値のセットをするインタフェース
Definition func_result.h:275
void respond(const T &value) const
関数の結果を送信する
Definition func_result.h:345
void reject(StringInitializer message) const
関数の結果を例外として送信する
Definition func_result.h:373
void respond() const
空の値を関数の結果として送信する
Definition func_result.h:362
void respond(StringInitializer value) const
Definition func_result.h:351
関数1つを表すクラス
Definition func.h:109
非同期で実行した関数の実行結果を取得するインタフェース。
Definition func_result.h:30
Promise & waitFinishFor(std::chrono::microseconds timeout)
関数の実行が完了するまで待機
Definition func_result.h:182
Promise & onReach(F callback)
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定
Definition func_result.h:229
Promise & waitReach()
リモートに呼び出しメッセージが到達するまで待機
Definition func_result.h:80
Promise & waitFinishUntil(std::chrono::time_point< Clock, Duration > timeout)
関数の実行が完了するまで待機
Definition func_result.h:195
Promise & waitFinish()
関数の実行が完了するまで待機
Definition func_result.h:170
Promise & waitReachUntil(std::chrono::time_point< Clock, Duration > timeout)
リモートに呼び出しメッセージが到達するまで待機
Definition func_result.h:105
Promise & onFinish(F callback)
関数の実行が完了した時呼び出すコールバックを設定
Definition func_result.h:260
Promise & waitReachFor(std::chrono::microseconds timeout)
リモートに呼び出しメッセージが到達するまで待機
Definition func_result.h:92
SharedString のpublicなコンストラクタインタフェース (入力専用)
Definition encoding.h:235
webcfaceで管理されている文字列を参照するstring_view
Definition encoding.h:71
ValAdaptorのVector.
Definition val_adaptor_vec.h:17
数値、文字列などの値を相互変換するクラス
Definition val_adaptor.h:81
数値と文字列をまとめて扱うためのstruct (wstring)
Definition def_types.h:84
数値と文字列をまとめて扱うためのstruct
Definition def_types.h:50
ClientDataの参照とメンバ名とデータ名を持つクラス
Definition field.h:68
未初期化の変数にアクセスした場合に発生する例外
Definition exception.h:47
Definition client_internal.h:46
関数1つの情報を表す。関数の実体も持つ
Definition func_internal.h:136
#define WEBCFACE_DLL
Definition webcface-config.h:69
#define WEBCFACE_CALL
Definition webcface-config.h:106
#define WEBCFACE_NS_END
Definition webcface-config.h:113
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:112
#define WEBCFACE_CALL_FP
Definition webcface-config.h:107