SwiftSyft icon indicating copy to clipboard operation
SwiftSyft copied to clipboard

Implement split and stitch for large data channel messages in iOS

Open cereallarceny opened this issue 5 years ago • 1 comments

This was already done in syft.js: https://github.com/OpenMined/syft.js/issues/78

This will also need to be done for iOS. You should read these two classes so that you fully understand the problem and theoretical solution:

  • https://github.com/OpenMined/syft.js/blob/master/src/data_channel_message.js
  • https://github.com/OpenMined/syft.js/blob/master/src/data_channel_message_queue.js

cereallarceny avatar Feb 03 '20 21:02 cereallarceny

Data channel message

  • [ ] Construct chunk header
  • [ ] Divide message into chunks with appropriate chunk header
  • [ ] Add individual data chunks according to chunk index
  • [ ] Reassemble chunks when all of them are complete

Data channel queue

  • [ ] Store all data channel messages being received
  • [ ] Inform observers when a message is completed

RTC Connection buffer

  • [ ] Check first if it's possible to monitor peer connection message buffer in iOS

mjjimenez avatar May 25 '20 05:05 mjjimenez