WattsonAsyncGroupResponse#
- class wattson.cosimulation.control.messages.wattson_async_group_response.WattsonAsyncGroupResponse(group_key: Any)#
Bases:
WattsonAsyncResponseThe WattsonAsyncGroupResponse is a WattsonAsyncResponse that can send identical data to multiple clients. This is used for static queries that contain a larger data model. In this case, a single notification is sent to indicate the resolved queries instead of several individual notifications.
Methods
Blocks this response from being resolved.
When sending the object, instances of complex classes (e.g., the WattsonServer or a threading.Event) are removed.
get_referenceget_reference_maphas_responseis_promiseis_resolvableis_successfulWarning: This is only safe to call if you have blocked the response previously!
resolveCalls the given function (resolve_task) in a new thread to allow for asynchronous resolution.
set_successfulRemove the blocking of this response.
- __init__(group_key: Any)#
- block(timeout: float = 1) bool#
Blocks this response from being resolved.
- Returns:
True if the response could be blocked, False otherwise.
- Return type:
bool
- copy_for_sending(client_id: str | None = None) WattsonAsyncResponse#
When sending the object, instances of complex classes (e.g., the WattsonServer or a threading.Event) are removed.
- register_reference(client_id: str, reference_id: int) bool#
Warning: This is only safe to call if you have blocked the response previously!
- Parameters:
client_id – The client ID of the client that should receive the response.
reference_id – The reference ID of the response, linking to the query.
- Returns:
True if the response could be registered, False otherwise.
- resolve_with_task(resolve_task: Callable[[WattsonAsyncResponse, Dict], WattsonResponse], further_kwargs: Dict | None = None)#
Calls the given function (resolve_task) in a new thread to allow for asynchronous resolution. After the resolve_task finishes and returns a WattsonResponse, this WattsonAsyncResponse is automatically resolved.
- Parameters:
resolve_task (Callable[['WattsonAsyncResponse', Dict], WattsonResponse]) – The callable to call for deriving the full WattsonResponse
further_kwargs (Optional[Dict], optional) – A dict with further arguments to pass to the resolve_task function (as a dict!). If None is given, an empty dict is created. (Default value = None)
- unblock()#
Remove the blocking of this response.