All related issues
powerhouse-inc/document-drive#215
powerhouse-inc/powerhouse#219
powerhouse-inc/document-drive#213
powerhouse-inc/document-drive#209
powerhouse-inc/document-drive#211
[x] Remove resulting state from cache
[x] Return specific error code when a listener can not be found
[ ] shift elements of the listener list when MAX is reached. Limits are part of the local drive state. one max value per listener type
[ ] Make document drive server multi core ready (Tested but put on hold)
[x] Update document-drive to register a new pull responder for a drive when the previous one was removed.
Optimize Listener Management:
Implement a Timeout for Listeners: Set a timeout to remove inactive listeners from the cache after a specific period (e.g., 20 or 30 minutes).
Distinguish Between Persistent and Temporary Listeners: Create a system to differentiate between persistent listeners (e.g., for web apps) and temporary listeners (e.g., for browser tabs). Cleanup of Unused Listeners, Implement a mechanism to identify and remove listeners that are no longer needed.
Graceful Handling of Deleted Listeners: Update Listener Management Logic: Ensure that the client gracefully requests a new listener if the current one is deleted.
Implement Listener State Cache: Develop a storage adapter feature for caching listener states to optimize performance
Allow Multi-threading for Document Drive Server: Modify the core logic to support multi-threading by sharing state information between threads.
Optimize JSON Operations: Improve the performance of JSON stringify and parse operations used for storing document states and listener information.
Verify Correct Resynchronization: Implement and test the resynchronization process after a new listener is created to avoid starting from scratch.
Could you help update the issue text at the top so we keep track of the tactics we've already implemented or still would like to try.
Feel free to add in brackets
All related issues powerhouse-inc/document-drive#215 powerhouse-inc/powerhouse#219 powerhouse-inc/document-drive#213 powerhouse-inc/document-drive#209 powerhouse-inc/document-drive#211
Optimize Listener Management:
Implement a Timeout for Listeners: Set a timeout to remove inactive listeners from the cache after a specific period (e.g., 20 or 30 minutes).
Distinguish Between Persistent and Temporary Listeners: Create a system to differentiate between persistent listeners (e.g., for web apps) and temporary listeners (e.g., for browser tabs). Cleanup of Unused Listeners, Implement a mechanism to identify and remove listeners that are no longer needed. Graceful Handling of Deleted Listeners: Update Listener Management Logic: Ensure that the client gracefully requests a new listener if the current one is deleted.
Implement Listener State Cache: Develop a storage adapter feature for caching listener states to optimize performance Allow Multi-threading for Document Drive Server: Modify the core logic to support multi-threading by sharing state information between threads.
Optimize JSON Operations: Improve the performance of JSON stringify and parse operations used for storing document states and listener information.
Verify Correct Resynchronization: Implement and test the resynchronization process after a new listener is created to avoid starting from scratch.