Add description of bluetooth multiplexing protocol

Authored by mtijink on Jan 5 2019, 12:24 PM.



As mentioned on telegram, there are some fundamental issues with bluetooth. The only approach I could get working was multiplexing: manually sending multiple streams of data over a single connection.

This is the description of that multiplexing protocol. I have an implementation of this protocol, but I'd first like some feedback to see if this is what we're going to use before finishing up those patches.

See the document itself for more details. I make the protocol forward-compatible, although I don't expect we will need ever that.

Test Plan

None, this is just a description.

Diff Detail

R224 KDE Connect
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
mtijink created this revision.Jan 5 2019, 12:24 PM
Restricted Application added a project: KDE Connect. · View Herald TranscriptJan 5 2019, 12:24 PM
Restricted Application added a subscriber: kdeconnect. · View Herald Transcript
mtijink requested review of this revision.Jan 5 2019, 12:24 PM
mtijink updated this revision to Diff 49174.Jan 10 2019, 4:43 PM

Update to require sending of protocol version message, this makes future extensions easier to handle.

Any thought on this approach? If not, I'll start sending bluetooth patches.

albertvaka accepted this revision.Jan 16 2019, 11:47 AM
albertvaka added a subscriber: albertvaka.

Looks good to me. Something like this could even end up being used for TCP instead of using lots of sockets. Also, the MESSAGE_READ is a good idea: with our current TCP approach, sometimes we create sockets that no one is going to read from and they are leaked.

This revision is now accepted and ready to land.Jan 16 2019, 11:47 AM
This revision was automatically updated to reflect the committed changes.