matrix-rust-sdk
matrix-rust-sdk copied to clipboard
Design an efficient way to manage list data through FFI
We have different lists containing live data that need to be provided by the Rust SDK:
- room lists. They can be built (with all sort of queries)
- room timeline both live and from a permalink
- room members
Those list can be large with thousands of items. Items can be updated in live in all manners: item update, insertion, deletion and move. We need to find a way for the SDK to share list diff updates. The update mechanism needs
- to go through the FFI layer
- to work for any bindings
- to be consumable for reactive programming used in element apps. We can have a extra layer at the top of the bindings to make the mechanism more native to the final language
Stephan wrote an interface proposal doc. It is highly swift oriented but it is very good start for discussion.