docs: describe the TCP transport, multiplexing and TCPStreamJoin in README, architecture and StreamHub docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
05b9490b06
commit
81879b8b7a
5 files changed
+66
-3
No files matched your search
@@ -63,6 +63,11 @@ Full streaming pipeline: MARTe2 (FileReader -> IOGAM -> UDPStreamer) -> StreamHu
|
||||
(live, zoom, window, trigger). The validator compares the recording against the analytic
|
||||
ground truth (fidelity, sine shape fit, continuity) and optionally a fed-reference tap.
|
||||
|
||||
Chain scenarios `s60`-`s73` use TCP transports (`network = "tcp"` or `"tcp_service"`). The
|
||||
optional `hub` field adds `{"mode": "mux"}` (the hub takes all sources over one multiplexed
|
||||
connection, `s72`) or `{"mode": "join"}` (a `TCPStreamJoin` merges the sources and the hub
|
||||
subscribes to the merge, `s73`).
|
||||
|
||||
### direct
|
||||
|
||||
MARTe2 FileReader -> UDPStreamer -> UDPStreamerClient -> FileWriter round-trip. Validates that
|
||||
|
||||
@@ -33,6 +33,9 @@ Reply (unicast): `{"type":"pong"}`.
|
||||
- `addr` — `host:port` of the UDPStreamer control port.
|
||||
- `multicastGroup` / `dataPort` — optional; if present the hub joins the
|
||||
multicast group for DATA and keeps a TCP control connection for CONNECT/CONFIG.
|
||||
- `transport` (`"udp"` default, or `"tcp"`) and `streamName` — for a TCP source, the
|
||||
`TCPStreamService` stream to subscribe to. A comma list (`"a,b"`) multiplexes several
|
||||
streams over one connection and adds one source per stream, labelled `<label>_<stream>`.
|
||||
- The hub assigns ids `s1`, `s2`, … and broadcasts an updated `sources` event.
|
||||
|
||||
### `removeSource`
|
||||
@@ -421,6 +424,7 @@ warning.
|
||||
[
|
||||
{"label": "wave", "addr": "127.0.0.1:44500"},
|
||||
{"label": "mc", "addr": "127.0.0.1:44501", "multicastGroup": "239.0.0.1", "dataPort": 44502},
|
||||
{"label": "svc", "addr": "127.0.0.1:44500", "transport": "tcp", "streamName": "fast,slow"},
|
||||
{"source": "wave", "signal": "Adc", "scale": 0.00030518, "offset": -1.25, "unit": "V"}
|
||||
]
|
||||
```
|
||||
|
||||
@@ -58,6 +58,10 @@ Useful flags: `-p <port>` WS port, `-n <pts>` ring size, `-s` skip rebuild,
|
||||
./Client/streamhub/build/StreamHubClient -host <hub-host> -port 8090
|
||||
```
|
||||
|
||||
A source can use TCP instead of UDP: add `Transport = "tcp"` (and `StreamName = "<stream>"`
|
||||
for a `TCPStreamService`). `StreamName = "a,b"` takes several streams over one connection,
|
||||
shown as separate sources `<Label>_a`, `<Label>_b`. See `Docs/TCPStreamer.md`.
|
||||
|
||||
Sources can also be added at runtime from either client ("Add source": label +
|
||||
`host:port`, optional multicast group/data port). "Save sources" persists the
|
||||
runtime list to `streamhub_sources.json` so the hub reloads it on restart.
|
||||
|
||||
Reference in new issue
Block a user