CreateOutputSrtMultiplex
Task 99: create a multiplex SRT egest — a node that owns one listening port and routes accepted connections to the SRT egests that registered their routes with it. Carries no media and is never subscribed to.
Request Type: SrtMultiplexEgestConfiguration
Field |
Type |
Repeated |
Description |
id |
The handle egests name to find this multiplex (SrtEgestMultiplexRef). Not a MediaNodeId: a multiplex is a resource, not a media node. |
||
host |
|||
port |
0 binds an auto-allocated port, reported back in SrtMultiplexEgestEvent. |
||
receive_latency |
|||
peer_latency |
|||
input_bandwidth |
|||
overhead_bandwidth |
|||
max_bandwidth |
|||
tlpktdrop |
|||
listener_sockets |
How many sockets the multiplex binds on its port, each with its own SRT receive/send threads; the kernel spreads consumers across them (SO_REUSEPORT). One multiplex carries every egest sharing it, so without this all their consumers' traffic goes through one send thread. Unset or 1 = one socket. Linux only; 1-32. |
||
accept_bonded |
Accept bonded consumers on the shared port (task 102); every link is routed and granted like any other connection. |
Response Type: SrtMultiplexEgestEvent (streamed)
Field |
Type |
Repeated |
Description |
message |
oneOf |
||
⮑on_bind |
The bound port — the same event the dedicated-port egest reports, and the way to learn the port when 0 was requested. |
||
⮑connection_rejected |
A connection refused at the handshake: its route/user is not in the grant table, or the passphrase did not match. The route names the egest it was destined for, so a misconfigured consumer is identifiable. |