On Fri May 17 08:36:29 2024 +0000, Rémi Bernon wrote:
I updated the MR to use offsets instead of indexes. I also took that opportunity to change a bit how objects are managed on the server side, mmapping the session in persistent blocks so that objects pointers can be used.
Thanks. It's better, but I still feel like client side implementation is not optimal. The nice thing about persistent mappings, like I mentioned earlier, is that we could just store and pass pointers, removing the need for both `get_thread_session_object_locator` and ref-counted session struct. We could for example just return an offset and shared object id in `set_thread_desktop` request and then store object pointer (from the offset) and id in `user_thread_info`. `get_cursor_pos` would then have all it needs to validate (with stored id), "lock" and use that pointer straight from the thread data.