Loading...
Loading...
Compare original and translation side by side
state::set/get/update/delete/liststate::set/get/update/delete/listHTTP CRUD endpoints
→ state::set/update/delete (writes to 'todos' scope)
↓ (automatic state triggers)
→ on-change → stream::send (push to clients)
→ update-metrics → state::update (aggregate counters)
HTTP GET /metrics → reads from 'todo-metrics' scope
WebSocket clients ← stream 'todos-live'HTTP CRUD endpoints
→ state::set/update/delete (writes to 'todos' scope)
↓ (automatic state triggers)
→ on-change → stream::send (push to clients)
→ update-metrics → state::update (aggregate counters)
HTTP GET /metrics → reads from 'todo-metrics' scope
WebSocket clients ← stream 'todos-live'| Primitive | Purpose |
|---|---|
| Initialize the worker and connect to iii |
| CRUD handlers and reactive side effects |
| Database layer |
| React to any change in a scope |
| Fire-and-forget stream push to clients |
| REST endpoints |
| 原语 | 用途 |
|---|---|
| 初始化Worker并连接到iii引擎 |
| CRUD处理器和响应式副作用 |
| 数据库层 |
| 响应某个作用域内的任意变化 |
| 以“触发即遗忘”的方式向客户端推送流 |
| REST端点 |
registerWorker(url, { workerName })trigger({ function_id: 'state::set/get', payload: { scope, key, value } })registerTrigger({ type: 'state', function_id, config: { scope } })async (event) => { const { new_value, old_value, key } = event }trigger({ function_id: 'stream::send', payload, action: TriggerAction.Void() })const logger = new Logger()registerWorker(url, { workerName })trigger({ function_id: 'state::set/get', payload: { scope, key, value } })registerTrigger({ type: 'state', function_id, config: { scope } })async (event) => { const { new_value, old_value, key } = event }trigger({ function_id: 'stream::send', payload, action: TriggerAction.Void() })const logger = new Logger()eventnew_valueold_valuekeytodosws://host:port/stream/{stream_name}/{group_id}eventnew_valueold_valuekeytodosws://host:port/stream/{stream_name}/{group_id}registerFunction{ path, id }iii-http-invoked-functionsiii-reactive-backendregisterFunction{ path, id }iii-http-invoked-functionsiii-reactive-backendiii-reactive-backendiii-reactive-backend