Logout

From OpenSimulator

Revision as of 14:08, 21 March 2013 by Justincc (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.
Personal tools
General
About This Wiki