webcface.func_info module
- class webcface.func_info.Arg(name: str = '', type: int | type = ValType.NONE, min: SupportsFloat | None = None, max: SupportsFloat | None = None, init: SupportsFloat | bool | str | None = None, option: List[SupportsFloat | str] = [])[source]
Bases:
object
- property init: float | bool | str | None
- property max: float | None
- property min: float | None
- property name: str
- property option: List[float | str]
- property type: int
- class webcface.func_info.CallHandle(data: PromiseData)[source]
Bases:
object
- property args: List[float | bool | str]
- class webcface.func_info.FuncInfo(func: Callable | None, return_type: int | type | None, args: List[Arg] | None, in_thread: bool = False, handle: bool = False)[source]
Bases:
object
- func_impl: Callable
- return_type: int
- run(p: PromiseData, args) None [source]
- class webcface.func_info.Promise(data: PromiseData)[source]
Bases:
object
非同期で実行した関数の実行結果を表す。
ver2.0〜 AsyncFuncResultからPromiseに名前変更
- property finished: bool
関数の実行が完了したかどうかを返す (ver2.0〜)
- property found: bool
呼び出した関数がリモートに存在するか(=実行が開始されたか)を返す (ver2.0〜)
- property is_error: bool
関数がエラーになったかどうかを返す (ver2.0〜)
- property name: str
関数のfield名
- on_finish(func: Callable) Promise [source]
関数の実行が完了したときに呼び出すコールバックを設定 (ver2.0〜)
コールバックの引数にはこのPromiseが渡される。
すでにfinishedがtrueの場合はこのスレッドで即座にcallbackが呼ばれる。
- on_reach(func: Callable) Promise [source]
リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定 (ver2.0〜)
コールバックの引数にはこのPromiseが渡される。
すでにreachedがtrueの場合はこのスレッドで即座にcallbackが呼ばれる。
- property reached: bool
関数呼び出しのメッセージが相手のクライアントに到達したらTrue (ver2.0〜)
- property rejection: str
関数の実行がエラーになった場合そのエラーメッセージを返す (ver2.0〜)
- property response: float | bool | str
関数の実行が完了した場合その戻り値を返す (ver2.0〜)
- property result: float | bool | str
実行結果または例外
結果が返ってくるまで待機する。
Deprecated since version ver2.0.
- property result_ready: bool
resultが取得可能であればTrue
Deprecated since version ver2.0: (finished と同じ)
- property started: bool
関数が開始したらTrue, 存在しなければFalse
Falseの場合自動でresultにもFuncNotFoundErrorが入る
Deprecated since version ver2.0.
- property started_ready: bool
startedが取得可能であればTrue
Deprecated since version ver2.0: (reached と同じ)
- wait_finish(timeout: float | None = None) Promise [source]
関数の実行が完了するまで待機 (ver2.0〜)
finished がtrueになるまで待機する。
on_finished
にコールバックが設定されている場合そのコールバックの完了も待機する。 * Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。
- Parameters:
timeout – 待機するタイムアウト (秒)
- wait_reach(timeout: float | None = None) Promise [source]
リモートに呼び出しメッセージが到達するまで待機 (ver2.0〜)
reached がtrueになるまで待機する。
on_reached
にコールバックが設定されている場合そのコールバックの完了も待機する。 * Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。
- Parameters:
timeout – 待機するタイムアウト (秒)
- class webcface.func_info.PromiseData(base: Field, caller_id: int = 0, caller: str = '')[source]
Bases:
object