Difference between revisions of "Login sequence"
Jump to navigation
Jump to search
(Starting) |
(Beginning add of sequence diagrams) |
||
Line 2: | Line 2: | ||
(Under construction) | (Under construction) | ||
===Source code for above diagram=== | |||
<source> | |||
title Initial login to world | |||
participant "Viewer" as V | |||
participant "Initial region" as R | |||
participant "Login server" as L | |||
group Initial login | |||
activate V | |||
V->L: Login request, XMLRPC | |||
activate L | |||
L->R: (region advised login coming) | |||
activate R | |||
L->V: Login reply | |||
rbox left of V: Contains initial region IP, port, seed\nregion handle, agent ID\nbut not avatar location in region. | |||
V-->>R: UseCircuitCode | |||
V-->>R: CompleteAgentMovement | |||
V-->>R: UuidNameRequest | |||
rbox left of V: UuidNameRequest for avatar name.\nProbably unnecessary, but traditional. | |||
R-->V: RegionHandshake | |||
rbox left of V: A 2 second delay here before the reply\nreduces interest list errors.\nRef: BUG-233107 | |||
V-->>R: RegionHandshakeReply | |||
V-->>R: AgentUpdate | |||
rbox left of V: This first AgentUpdate has a bogus avatar position.\nViewer does not know where the avatar is yet\nbut must send this to get object updates started.\nCause of some interest list bugs. | |||
V->R: EventQueueGet | |||
R-->>V: ObjectUpdate | |||
rbox left of V: The first object update is usually for the avatar.\nThis tells the viewer where the avatar really is.\nPosition of avatar moves in viewer. | |||
V-->>R: AgentUpdate | |||
rbox left of V: Viewer tells region where the camera is.\nViewer and region are now in sync. | |||
end | |||
rbox left of V: Logged in.\nNormal operation from here on. | |||
R-->>V: ObjectUpdate | |||
R-->>V: ObjectUpdate | |||
R-->>V: ObjectUpdate | |||
R->V: (Various event queue events) | |||
V-->>R: AgentUpdate | |||
</source> |
Revision as of 17:48, 6 September 2023
(Under construction)
Source code for above diagram
title Initial login to world
participant "Viewer" as V
participant "Initial region" as R
participant "Login server" as L
group Initial login
activate V
V->L: Login request, XMLRPC
activate L
L->R: (region advised login coming)
activate R
L->V: Login reply
rbox left of V: Contains initial region IP, port, seed\nregion handle, agent ID\nbut not avatar location in region.
V-->>R: UseCircuitCode
V-->>R: CompleteAgentMovement
V-->>R: UuidNameRequest
rbox left of V: UuidNameRequest for avatar name.\nProbably unnecessary, but traditional.
R-->V: RegionHandshake
rbox left of V: A 2 second delay here before the reply\nreduces interest list errors.\nRef: BUG-233107
V-->>R: RegionHandshakeReply
V-->>R: AgentUpdate
rbox left of V: This first AgentUpdate has a bogus avatar position.\nViewer does not know where the avatar is yet\nbut must send this to get object updates started.\nCause of some interest list bugs.
V->R: EventQueueGet
R-->>V: ObjectUpdate
rbox left of V: The first object update is usually for the avatar.\nThis tells the viewer where the avatar really is.\nPosition of avatar moves in viewer.
V-->>R: AgentUpdate
rbox left of V: Viewer tells region where the camera is.\nViewer and region are now in sync.
end
rbox left of V: Logged in.\nNormal operation from here on.
R-->>V: ObjectUpdate
R-->>V: ObjectUpdate
R-->>V: ObjectUpdate
R->V: (Various event queue events)
V-->>R: AgentUpdate