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
merge_config(a: Arg) Arg[source]
property min: float | None
property name: str
property option: List[float | str]
property type: int
webcface.func_info.AsyncFuncResult

alias of Promise

class webcface.func_info.CallHandle(data: PromiseData)[source]

Bases: object

property args: List[float | bool | str]
assert_args_num(expected: int) bool[source]
reject(reason: str) None[source]
respond(result: float | bool | str = '') None[source]
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

args: List[Arg]
func_impl: Callable
return_type: int
run(p: PromiseData, args) None[source]
exception webcface.func_info.FuncNotFoundError(base: FieldBase)[source]

Bases: RuntimeError

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 member: Member

関数のMember

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

class webcface.func_info.ValType(value)[source]

Bases: IntEnum

An enumeration.

BOOL = 2
FLOAT = 4
INT = 3
NONE = 0
STR = 1
STRING = 1
webcface.func_info.get_type_enum(t: type) int[source]