rawrtc / rawrtc-data-channel

A standalone WebRTC and ORTC data channel implementation.
BSD 2-Clause "Simplified" License
52 stars 6 forks source link

Support interleaving of stream data #14

Open lgrahl opened 6 years ago

lgrahl commented 6 years ago

This makes it possible to interleave messages on different streams. It requires separate buffers for each data channel and a scheduler to handle the pending messages fairly.

lgrahl commented 6 years ago

Reminder that I've added this to Firefox:

#if defined(SCTP_ASSOC_SUPPORTS_INTERLEAVING)
        case SCTP_ASSOC_SUPPORTS_INTERLEAVING:
          LOG(("Supports: NDATA"));
          // TODO: This should probably be set earlier above in 'case SCTP_COMM_UP' but we also
          //       need this for 'SCTP_RESTART'.
          mSendInterleaved = true;
          break;
#endif
lgrahl commented 6 years ago

Reminder that the readme needs updating after resolving this.