Data characteristics that drive transport and framing selection.
Domain-agnostic. The same profile applies whether the payload is a float buffer, a matrix, a point cloud, or a raw byte sequence. NetworkFoundry uses this when TransportHint::AUTO is specified and StreamForge uses it to select wire framing.
The axes are: ordering requirement × loss tolerance × payload size.
| Enumerator |
|---|
| REALTIME_SMALL | Small payloads, loss-tolerant, latency-sensitive.
UDP default. Single datagram fits MTU. Example: sparse parameter updates, OSC-style events.
|
| REALTIME_BULK | Large payloads, loss-tolerant, latency-sensitive.
UDP with chunking. Dropped chunk = dropped frame, acceptable. Example: per-cycle matrix snapshots, live geometry streams.
|
| ORDERED_BULK | Large payloads, loss-intolerant, ordering required.
TCP or SHM. Completeness matters more than latency. Example: tensor transfers, model weights, file-like payloads.
|
| ARBITRARY | Raw bytes.
Caller owns framing entirely. No policy applied beyond opening the endpoint.
|
Definition at line 39 of file NetworkUtils.hpp.
39 : uint8_t {
41
42
43
45
46
47
49
50
51
53
54};
@ ORDERED_BULK
Large payloads, loss-intolerant, ordering required.
@ REALTIME_BULK
Large payloads, loss-tolerant, latency-sensitive.
@ REALTIME_SMALL
Small payloads, loss-tolerant, latency-sensitive.