Skip to main content
The iii Engine uses a WebSocket-based JSON protocol for communication between the engine and workers.

Message Types

The protocol defines specific message types for different operations:

Connection Flow

When a worker connects, it must register its capabilities:

Invocation Lifecycle

Functions can be invoked synchronously (with response) or asynchronously (fire-and-forget):

Register Function

Register a triggerable function with the engine:

Register Trigger

Configure a trigger that maps to a function:

Invoke Function

Request execution of a registered function:

Invocation Result

Return the result of a function execution:

Stream Protocol

The Streams worker uses a specialized sub-protocol for real-time state synchronization.

Incoming Messages (Client → Engine)

Outbound Messages (Engine → Client)