UURLabBridgeServer¶
Owns the FURLabRpcDispatcher and every RPC transport.
Bridge-owned transports are the single source of truth: the editor
subsystem owns one UURLabBridgeServer across PIE cycles, the cooked
path owns one per AAMjManager. Both call EnsureZmqBound /
EnsureShmBound to bring up the wire — the bridge NewObjects the
concrete transport, sets the owning-bridge weak ref, calls
TransportInit, and stores it in RpcTransports.
| Attribute | Value |
|---|---|
| Kind | Class |
| UE Macro | UCLASS |
| Inherits | UObject |
Properties¶
Private Properties¶
| Property | Type | Description |
|---|---|---|
RpcTransports |
TArray<TObjectPtr<UURLabRpcTransport>> | Every bound RPC transport. Survives PIE transitions. Transient so |
RpcTransports¶
Every bound RPC transport. Survives PIE transitions. Transient so
- Type: TArray<TObjectPtr<UURLabRpcTransport>>
Functions¶
Public Functions¶
General¶
| Function | Returns | Description |
|---|---|---|
Start() |
void | Construct the dispatcher and optionally bind a ZMQ REP listener. |
Stop() |
void | Tear down the dispatcher and every transport. Idempotent. |
EnsureZmqBound() |
bool |
Bind a ZMQ REP listener if not already bound on Endpoint. |
EnsureShmBound() |
bool |
Open req.shm / rep.shm under SessionId if not already open. |
GetDispatcher() |
FURLabRpcDispatcher* | Dispatcher when running, nullptr otherwise. |
IsOwnedByManager() |
bool |
True when AAMjManager owns this server (cooked path, or editor |
RegisterManager() |
void | Called from AAMjManager BeginPlay / EndPlay so the dispatcher can |
GetActiveManager() |
AAMjManager* | Live PIE manager when one is registered, nullptr otherwise. |
GetRpcTransports() |
const TArray<TObjectPtr<UURLabRpcTransport>>& | Bridge-owned RPC transports. Exposed for tests; production code |
Start¶
Construct the dispatcher and optionally bind a ZMQ REP listener.
- Signature:
Start(const FString&StepEndpoint)
EnsureZmqBound¶
Bind a ZMQ REP listener if not already bound on
Endpoint.
- Signature:
EnsureZmqBound(const FString&Endpoint) - Returns: bool
EnsureShmBound¶
Open req.shm / rep.shm under
SessionIdif not already open.
- Signature:
EnsureShmBound(const FString&SessionId) - Returns: bool
GetDispatcher¶
Dispatcher when running, nullptr otherwise.
- Signature:
GetDispatcher() - Returns: FURLabRpcDispatcher*
IsOwnedByManager¶
True when AAMjManager owns this server (cooked path, or editor
- Signature:
IsOwnedByManager() - Returns: bool
RegisterManager¶
Called from AAMjManager BeginPlay / EndPlay so the dispatcher can
- Signature:
RegisterManager(AAMjManager* InManager)
GetActiveManager¶
Live PIE manager when one is registered, nullptr otherwise.
- Signature:
GetActiveManager() - Returns: AAMjManager*
GetRpcTransports¶
Bridge-owned RPC transports. Exposed for tests; production code
- Signature:
GetRpcTransports() - Returns: const TArray<TObjectPtr<UURLabRpcTransport>>&