Logout
From OpenSimulator
(Difference between revisions)
(Created page with "=Introduction= This is the logout process as initiated by a user quitting the viewer. = Logout = ==Key== {| border = "1" ! key !! description |- | GU || griduser service |...") |
Revision as of 13:08, 21 March 2013
Contents |
Introduction
This is the logout process as initiated by a user quitting the viewer.
Logout
Key
key | description |
---|---|
GU | griduser service |
P | presence service |
S | simulator |
SCh | neighbour of simulator |
SFr | simulator containing friend |
V | viewer |
Steps
The steps involving listeners are not exhausive. Only the most significant operations are listed.
- V->S, on user quit, viewer sends a LogoutRequest UDP packet to the simulator.
- S, begins to tear down structures specific to the LL connection
- S, triggers IClientAPI.OnConnectionClosed event internally, causing listeners to
- S->GU, tell the grid user service that the user has logged out.
- S->P, tell the presence service that the user has logged out.
- S, Tell the scene to start cleaning up its data structures (this is the bulk of the cleanup work).
- S->SCh, tell any neighbours to close their child agents for this viewer.
- S, triggers EventManager.OnClientClosed event internally, causing listeners to
- S->SFr, tell regions containing friends that the user has gone offline.
- S, triggers EventManager.OnRemovePresence event internally (this duplicates OnClientClosed and may be removed in the future).
- S, derezzes the avatar's attachments, hence shutting down and saving any attachment script state.
- S, tells other avatars still in the scene that the user has gone via the KillObject UDP packet.
- S, removes the scene presence and client structures and removes the avatar's physics object.