versatica / mediasoup

Cutting Edge WebRTC Video Conferencing
https://mediasoup.org
ISC License
6.27k stars 1.13k forks source link

LibUring: Enable liburing usage for SCTP data delivery #1249

Closed jmillan closed 11 months ago

jmillan commented 11 months ago

There are two SCTP delivery scenarios that would benefit of liburing:

1- When Router iterates DataConsumers to deliver a message from a DataProducer. 2- When we call usrsctp_handle_timers() periodically, which will synchronously call the send/recv callbacks for the SctpAssociations.

ibc commented 11 months ago

When Router iterates DataConsumers to deliver a message from a DataProducer.

This doesn't make sense, do you mean the opposite?

jmillan commented 11 months ago

When Router iterates DataConsumers to deliver a message from a DataProducer.

This doesn't make sense, do you mean the opposite?

The same as for RTP Producer and Consumers. When Router iterates the Consumers to deliver the RTP packet that we received into a Producer, we activate the ring, which make that those messages will be prepared to use liburing. Once all Consumers have been iterated then DepLibUring::Submit() is called, meaning, all previously prepared messages will now be delivered at once.

ibc commented 11 months ago

Merge? BTW Changelog changes missing.

jmillan commented 11 months ago

Adding changelog..