feat(tcp): TCPStreamer DataSources, in-process TCPStreamService, stream multiplexing and TCPStreamJoin
Add TCPStreamer/TCPStreamerClient (TCP transport behind the UDPSServerI/UDPSClientI seam), an optional single in-process TCPStreamService serving many streams over worker threads, multiplexed SUBSCRIBE (comma list, stream index in fragmentIdx), and TCPStreamJoin, which merges several streams into one sample-and-hold stream paced by a master. StreamHub takes a comma list of streams over one connection. Includes GTests, E2E scenarios s58-s73 and docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
5562877c99
commit
50d85363a3
79 files changed
+12348
-138
No files matched your search
@@ -61,6 +61,14 @@ static const uint8 UDPS_TYPE_CONFIG = 1u; ///< Server → Client: signal con
|
||||
static const uint8 UDPS_TYPE_ACK = 2u; ///< Client → Server: ack counter
|
||||
static const uint8 UDPS_TYPE_CONNECT = 3u; ///< Client → Server: connect request
|
||||
static const uint8 UDPS_TYPE_DISCONNECT = 4u; ///< Client → Server: disconnect
|
||||
static const uint8 UDPS_TYPE_SUBSCRIBE = 5u; ///< Client → Server (TCP stream service only): payload = stream name(s), comma separated
|
||||
|
||||
/** TCP stream service: most streams one connection may multiplex. On such a
|
||||
* connection every server frame carries the stream's position in the SUBSCRIBE
|
||||
* list in the header's fragmentIdx field (totalFragments stays 1). */
|
||||
static const uint32 UDPS_TCP_MAX_STREAMS = 64u;
|
||||
/** TCP stream service: longest SUBSCRIBE payload (comma separated names, each <= 255). */
|
||||
static const uint32 UDPS_TCP_MAX_SUBSCRIBE_PAYLOAD = 4096u;
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Wire packet header (17 bytes) */
|
||||
|
||||
Reference in new issue
Block a user