Skip to main content
Connects this III Engine instance to another III instance over WebSocket so you can expose local functions and forward calls to remote functions.
modules::bridge_client::BridgeClientModule

Sample Configuration

- class: modules::bridge_client::BridgeClientModule
  config:
    url: ${REMOTE_III_URL:ws://0.0.0.0:49134}
    service_id: bridge-client
    service_name: bridge-client
    expose:
      - local_function: engine::log::info
        remote_function: engine::log::info

    forward:
      - local_function: remote::state::get
        remote_function: state::get
        timeout_ms: 5000

      - local_function: remote::state::set
        remote_function: state::set
        timeout_ms: 5000

      - local_function: remote::state::delete
        remote_function: state::delete
        timeout_ms: 5000

Configuration

url
string
WebSocket URL of the remote III instance. Defaults to III_URL if set, otherwise ws://0.0.0.0:49134.
service_id
string
Service identifier to register with the remote instance. When set, the module registers the service on connect.
service_name
string
Human-readable service name. Defaults to service_id when omitted.
expose
ExposeFunctionConfig[]
Functions from this instance to expose to the remote instance.
forward
ForwardFunctionConfig[]
Local function aliases that forward invocations to remote functions.

Functions

bridge.invoke
function
Invoke a function on the remote III instance.
function_id
string
required
Remote function ID to invoke.
data
any
Payload to send to the remote function.
timeout_ms
number
Override the invocation timeout in milliseconds. Defaults to 30000.
The remote function’s response value directly (not wrapped in an object).
bridge.invoke_async
function
Fire-and-forget invoke on the remote III instance.
function_id
string
required
Remote function ID to invoke.
data
any
Payload to send to the remote function.
timeout_ms
number
Timeout is accepted but ignored for async invocations.