Semisol 👨💻 on Nostr: For my design, it starts with subscribing to the multicast stream You then initiate a ...
For my design, it starts with subscribing to the multicast stream
You then initiate a TCP connection to the source as a “management” connection, you get the latest packet ID
For a low-latency high-throughput system, you see if there are any packet ID gaps and request.
If you go low-throughput, you may include constant empty messages (which will increase B/W, and higher rate of empty messages = faster recovery from loss)
You can also do a client ack system if you do not have a very high amount of clients for lower B/W usage
You also have buffer memory for retransmits, and that can run out, so clients that cannot recover fast enough need to start over (causing complete loss of the stream)
You then initiate a TCP connection to the source as a “management” connection, you get the latest packet ID
For a low-latency high-throughput system, you see if there are any packet ID gaps and request.
If you go low-throughput, you may include constant empty messages (which will increase B/W, and higher rate of empty messages = faster recovery from loss)
You can also do a client ack system if you do not have a very high amount of clients for lower B/W usage
You also have buffer memory for retransmits, and that can run out, so clients that cannot recover fast enough need to start over (causing complete loss of the stream)