Replies: 3 comments
-
Ring buffer (rx ring) is used because rx packets can arrive out of order (especially if multiple cards used). So we need to accumulate them in some place and yield full (or partial if we have sufficient number of parts for FEC) packet. |
Beta Was this translation helpful? Give feedback.
-
If too many fragments are lost such that a block cannot be fully recovered - |
Beta Was this translation helpful? Give feedback.
-
If there is next block with enough fragments to decode |
Beta Was this translation helpful? Give feedback.
-
Hello,
I don't fully understand yet how your Rx ring works.
Can you tell me what these 2 do:
get_block_ring_idx()
rx_ring_push()
Btw, I've timestamped the time points when packets enter and when they leave the rx ring.
With high packet loss a primary fragment can stay up to 15ms in the rx ring.
Could that be improved ?
Beta Was this translation helpful? Give feedback.
All reactions