You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be desirable to have the ability to pause and resume a coweb session. A typical usage scenario would be the case where there are n number of coweb sessions in a web app and a user would be cycling through those sessions. It would be easier to pause the session rather than leave and rejoin. This saves on performance and bandwidth hits due to a session join process. For example if a coweb session is used to collaborate on a fairly large document, the late join process may be expensive if that document contains a large amount of data. Rather than leave and rejoin a session, a client could pause the session and resume at a later time. When the client rejoins the session, the client only receives the sync events that have been queued by the server since the pause began.
The Bayeux protocol already supports this when using long polling. The default implementation gives a 30 second timeout window to re-establish a long poll connection once data has been received. While the client and server re-establishes the long poll connection the server is queuing any messages destined for that client. When the connection is re-established the messages are then sent to the client. This part is already implemented for us.
In order to implement pause, coweb would expose a Javascript API for pause / resume. A pause would merely disconnect the long poll connection and resume would re-establish the long poll connection. We could possibly pass a timeout parameter. The timeout would be the max amount of time allowed to resume the session. If the timeout threshold is reached, the client is disconnected from the session.
The text was updated successfully, but these errors were encountered:
Yes we do have pause and resume sync on the collab level however we want to preserve the browsers limit on XHR requests so we want to break the sessions main XHR connection and take advantage of cometd's interval timeout.
It would be desirable to have the ability to pause and resume a coweb session. A typical usage scenario would be the case where there are n number of coweb sessions in a web app and a user would be cycling through those sessions. It would be easier to pause the session rather than leave and rejoin. This saves on performance and bandwidth hits due to a session join process. For example if a coweb session is used to collaborate on a fairly large document, the late join process may be expensive if that document contains a large amount of data. Rather than leave and rejoin a session, a client could pause the session and resume at a later time. When the client rejoins the session, the client only receives the sync events that have been queued by the server since the pause began.
The Bayeux protocol already supports this when using long polling. The default implementation gives a 30 second timeout window to re-establish a long poll connection once data has been received. While the client and server re-establishes the long poll connection the server is queuing any messages destined for that client. When the connection is re-established the messages are then sent to the client. This part is already implemented for us.
In order to implement pause, coweb would expose a Javascript API for pause / resume. A pause would merely disconnect the long poll connection and resume would re-establish the long poll connection. We could possibly pass a timeout parameter. The timeout would be the max amount of time allowed to resume the session. If the timeout threshold is reached, the client is disconnected from the session.
The text was updated successfully, but these errors were encountered: