webcface.func module
- class webcface.func.Func(base: Field | None, field: str = '', return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False)[source]
Bases:
Field
- property name: str
field名を返す
- property return_type: int
戻り値の型を返す
ValTypeのEnumを使う
- run(*args) float | bool | str [source]
関数を実行する (同期)
selfの関数の場合、このスレッドで直接実行する
例外が発生した場合そのままraise, 関数が存在しない場合 FuncNotFoundError をraiseする * リモートの場合、関数呼び出しを送信し結果が返ってくるまで待機 例外が発生した場合 RuntimeError, 関数が存在しない場合 FuncNotFoundError をthrowする * (ver2.0〜) Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。
- set(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func [source]
関数からFuncInfoを構築しセットする
関数にアノテーションがついている場合はreturn_typeとargs内のtypeは不要
(ver2.0〜) set()でセットした関数は Client.sync() のスレッドでそのまま呼び出され、
この関数が完了するまで他のデータの受信はブロックされる。
- Parameters:
func – 登録したい関数
return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)
args – 関数の引数の情報
handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、
引数に CallHandle が渡されるようになる
- set_async(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func [source]
関数からFuncInfoを構築しセットする (ver2.0〜)
setAsync()でセットした場合、他クライアントから呼び出されたとき新しいスレッドを建てて実行される。
- Parameters:
func – 登録したい関数
return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)
args – 関数の引数の情報
handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、
引数に CallHandle が渡されるようになる