Cursor-based frontend/backend communication
|Assigned to:||Mirco Bauer||% Done:||
It seems that, currently, the Smuxi frontend maintains a copy of a lot of the backend's IRC state, and needs to synchronise these on server connect. This results in connecting to the backend taking a significant period of time (for me, around a minute) and consuming a significant amount of memory (again for me, Smuxi is eating >500MiB RSS).
It seems that both of these problems could be resolved by not sharing this state between the frontend and the backend, and instead having a cursor-based interface between the frontend & backend. Then the frontend would only need to get the most recent page of text from the backend on connect, which should speed up that process. It would also reduce frontend memory usage, as the frontend would need to store less state.
Finally, it would allow the removal of the non-obvious distinction between “buffer lines” and “engine buffer lines”, and would make adding “unlimited” as an option more feasible.