From: Markus J. (JIRA) <ji...@co...> - 2007-05-31 20:53:00
|
[ http://jira.codehaus.org/browse/JETTY-349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Markus Joschko resolved JETTY-349. ---------------------------------- Resolution: Fixed After the listener ability was added there is no need for the disconnect meta message any longer as the "removed" method should be sufficient. I still think that the inconsistency between the messages should be solved (e.g unsubscribe_meta_id events are only send if the user unsubscribes manually from a channel but not on a disconnect). However that is not as important and could be addressed in another bug. > Proper disconnect/timeout handling > ----------------------------------- > > Key: JETTY-349 > URL: http://jira.codehaus.org/browse/JETTY-349 > Project: Jetty > Issue Type: Improvement > Components: Bayeux > Reporter: Markus Joschko > > I went through the code to find out how server side code can be notified when a client times out (close browser window, crash whatever). > I'm really glad that there is already a timeout check in the access method of the continuationclient. However no event is submitted instead the client is "silently" removed from all channels (no META_UNSUBSCRIBE send) and removed from the list of clients. As a timeout is a special kind of disconnect (imo) it would make sense to place this logic inside of the disconnect handler which is currently empty. > If the continuationclient times out it publishes a bayeux message with the disconnect event. The disconnect handler is then responsible to remove the client from all lists and channels and in addition is publishing to META_DISCONNECT_ID. From a consistency view it would make sense to also publish to META_UNSUBSCRIBE_ID for every channel removal, but this would require some further, more serious, code refactoring. > I can make these changes if you agree with the proposed solution. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |