SwiftSyft
SwiftSyft copied to clipboard
Implement split and stitch for large data channel messages in iOS
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
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