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
{{ message }}
This repository was archived by the owner on May 12, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: docs/architecture.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,24 +38,27 @@ The rule engine enables complex, event-driven orchestration across all three cli
38
38
To support low-latency signaling alongside high-volume data transport across an intranet worksite, we are exploring well-supported, off-the-shelf open platforms to replace custom legacy patterns (e.g., pure WebSockets).
39
39
40
40
### Signaling (Low-Latency, 2-Way)
41
-
***Target Platforms**: **NATS** or **MQTT**.
41
+
***Target Platforms**: **MQTT** (Primary) or **NATS**.
42
+
***Recommendation**: **MQTT** is the recommended choice for cross-platform signaling. It is purposefully designed for edge scenarios, gracefully handles spotty connections, and has robust, mature client libraries across iOS (CocoaMQTT) and Android (Eclipse Paho). This fits perfectly into the Industrial Error Loop orchestration.
42
43
***Purpose**: Lightweight pub/sub for control planes, hardware error messaging, rule triggers, and maintaining live device registries.
43
44
***Fallback**: WebSocket is maintained for simple browser-client integration.
44
45
45
46
### Data Transport (High-Volume, 2-Way)
46
-
***Target Platforms**: **QUIC** (HTTP/3) or **gRPC**.
47
+
***Target Platforms**: **QUIC** (HTTP/3) (Primary) or **gRPC**.
48
+
***Recommendation**: **QUIC** (HTTP/3) is the recommended primary choice for high-volume, multiplexed data transfer. It natively avoids head-of-line blocking, making it exceptionally resilient on spotty edge networks when concurrently sending video, depth, and audio streams. **gRPC** remains a strong secondary option for strict RPC coordination where specific typed API contracts are preferred.
49
+
***Media Addendum**: For purely live video/audio streaming, **WebRTC** is the recommended standard as it natively handles packet loss, adaptive bitrates, and has full native cross-platform support.
***Legacy**: Standard HTTP chunked uploads for simple, large-file ingest.
49
52
50
53
### Mobile Client Protocol Support Levels
51
54
52
-
Both iOS and Android provide robust support for these communication protocols, with QUIC being the newest and still in the process of wider adoption. HTTP and WebSocket are well-established and fully supported on both platforms.
55
+
Both iOS and Android provide robust support for these communication protocols. HTTP and WebSocket are well-established, while QUIC is fully supported on modern OS versions, offering unparalleled performance benefits.
53
56
54
57
#### QUIC Protocol Support
55
58
| Platform | Support Level | Details |
56
59
| :--- | :--- | :--- |
57
-
|**iOS**|Experimental| QUIC is supported through the Network framework, allowing developers to create network connections using QUIC. |
58
-
|**Android**| Supported | QUIC is available via the Cronet library, which can be loaded through Google Play Services. |
60
+
|**iOS**|Supported| QUIC (HTTP/3) is enabled by default in `URLSession` (iOS 15+). Custom raw QUIC streams can be built via `Network.framework` (iOS 15+). |
61
+
|**Android**| Supported | QUIC is available via the Cronet library (Android API 29+ / Android 10+ recommended for best support). |
0 commit comments