This Page shows which components take part in the Invitation Process (Modifing a Shared Session itself).
This component is responsible for managing all the visual elements in Saros, listening to changes in Eclipse and reacting to actions performed by the local user. In this context, the User Interface allows the Host to add users or projects and displays the needed invitation-dialogs at both sides.
This componentis responsible for communicating with other participants by sending and receiving MESSAGES. The main entrance-points of this component are the Interfaces ITransmitter for sending messages and the IReceiver for receiving them.
The Invitation Management is responsible for starting a Shared Session or adding new users or projects to a running session. The Invitation Process itself is divided into the two subcomponents Session Negotiation and Project Negotiation. Both are started by the Invitation Management and are only active while the respective Invitation Process is running.
A Negotiation is always performed between the Host and a Client to ensure consistency in a running session. Saros supports the invitation of multiple users at once. In this case multiple Negotiation Processes are started concurrently, one for each invitee.
The Session Management is responsible for keeping a running session consistent. For more informations see Session Management. After the Invitation Management has established or changed a session the Session Management is informed about the changes so that new users and projects will be minded by Saros going forward.
During an Invitation a running session goes on, so that other participants aren't forced to wait until a new user joined for Example. This leads to a couple of rules for joining users that have to be met. See User States for more informations.