{"action":"closed","issue":{"url":"https://api.github.com/repos/tavendo/AutobahnPython/issues/203","labels_url":"https://api.github.com/repos/tavendo/AutobahnPython/issues/203/labels{/name}","comments_url":"https://api.github.com/repos/tavendo/AutobahnPython/issues/203/comments","events_url":"https://api.github.com/repos/tavendo/AutobahnPython/issues/203/events","html_url":"https://github.com/tavendo/AutobahnPython/issues/203","id":31315344,"number":203,"title":"Docs - ApplicationSession: methods and lifecycle","user":{"login":"oberstet","id":233340,"avatar_url":"https://avatars.githubusercontent.com/u/233340?v=3","gravatar_id":"","url":"https://api.github.com/users/oberstet","html_url":"https://github.com/oberstet","followers_url":"https://api.github.com/users/oberstet/followers","following_url":"https://api.github.com/users/oberstet/following{/other_user}","gists_url":"https://api.github.com/users/oberstet/gists{/gist_id}","starred_url":"https://api.github.com/users/oberstet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oberstet/subscriptions","organizations_url":"https://api.github.com/users/oberstet/orgs","repos_url":"https://api.github.com/users/oberstet/repos","events_url":"https://api.github.com/users/oberstet/events{/privacy}","received_events_url":"https://api.github.com/users/oberstet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tavendo/AutobahnPython/labels/docs","name":"docs","color":"fbca04"},{"url":"https://api.github.com/repos/tavendo/AutobahnPython/labels/wamp","name":"wamp","color":"e102d8"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2014-04-11T09:55:14Z","updated_at":"2015-03-10T14:18:04Z","closed_at":"2015-03-10T14:18:04Z","body":"\"\"\"\r\nI have been playing with ApplicationSession and I encounter many methods that are automatically called during the application life cycle such as onConnect, onJoin, onLeave, onDisconnect, etc.\r\n\r\nIt can be hard to understand which one does what (even with the docs on hand, lots of new concepts here), but more importantly, when.\r\n\r\nA schema of the application life cycle, including what method is called step by step would be very helpful. Some explanations about what I can and _can't_ do as as an application developper in each of these methods would also be super useful. Bonus if we can see that life cycle in context in the reactor/asyncio main loop lifecycle and how it interacts with it. Extra bonus for contexte in crossbar.io.\r\n\r\nI couldn't find one in the documentation, but I could have missed it. If I did, I apologize. If not, I'm begging for one. I do, once again, understand this is a lot of work, so I won't take offense if it's not possible. Quick and dirty ASCII art will do. I can even turn it into a clean vectorial one if you want to contribute a little bit to the documentation.\r\n\"\"\""}}