You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/features/olink.md
+57Lines changed: 57 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,6 +108,32 @@ The `UIoWorldHelloOLinkClient` class implements `IIoWorldHelloInterface` and con
108
108
2.**Operations**: Calls are forwarded to the remote server. The client waits for the response.
109
109
3.**Signals**: When the server emits a signal, the client receives it and broadcasts locally.
110
110
111
+
```mermaid
112
+
graph TB
113
+
subgraph Local[" Your Application "]
114
+
Code[Application Code]
115
+
end
116
+
117
+
subgraph Client[" OLink Client "]
118
+
Interface["IIoWorldHelloInterface"]
119
+
end
120
+
121
+
subgraph Transport[" WebSocket "]
122
+
WS((WS))
123
+
end
124
+
125
+
subgraph Remote[" Remote "]
126
+
Server[OLink Server]
127
+
end
128
+
129
+
Code -->|uses| Interface
130
+
Interface <-->|requests| WS
131
+
WS -.->|updates| Interface
132
+
WS <-->|messages| Server
133
+
```
134
+
135
+
*The client acts as a **Remote Proxy** - it implements the same interface as the backend service but forwards calls over WebSocket. Properties are cached locally for fast reads.*
136
+
111
137
### Properties
112
138
113
139
Properties are synchronized between client and server:
@@ -259,6 +285,37 @@ The OLink adapter is disabled on mobile platforms (iOS, Android, QNX). Mobile de
259
285
2.**Handles remote requests**: Forwards property changes and operation calls to the wrapped implementation
260
286
3.**Broadcasts updates**: Sends property changes and signals to all connected clients
*The adapter uses the **Adapter Pattern** - it wraps any `IIoWorldHelloInterface` implementation and exposes it over WebSocket. Multiple clients can connect simultaneously.*
318
+
262
319
### Properties
263
320
264
321
When a client requests a property change, the adapter receives the request, calls the wrapped implementation, and the property change is broadcast to all connected clients.
0 commit comments