unienv_interface.remote.client¶
Synchronous requests with an independent response/event receiver.
Subscription
¶
Subscription(client: RemoteClient, resource_id: str, subscription_id: str)
RemoteClient
¶
RemoteClient(transport: MessageTransport, *, backend: ComputeBackend = NumpyComputeBackend, device: Optional[object] = None, timeout: Optional[float] = 30.0, max_message_size: int = DEFAULT_MAX_MESSAGE_SIZE)
A connection, descriptor cache, and shared control session.
Requests are serialized, including entire component operation contexts. A timeout closes the connection: late replies can never be confused with a later request. Mutations aren't retried and may have executed remotely.
release
¶
release(resource_id: str, *, close_subscriptions: bool = False) -> None
Release shared world control, retaining subscriptions by default.
Set close_subscriptions=True to also close this client's domain streams.
operation
¶
operation(resource_id: str, kind: OperationKind = 'step') -> Iterator[str]
Mark one client-coordinated reset/reload/step, without rollback.
Use a world or node ID. Every mutating component call must belong to an operation. The context publishes snapshots only after successful exit.