3. socketpair is used to create the point-to-point IPC channel used for all Rialto Server Manager to Rialto Application Session Server communications
7/8. Session server creates the share memory region and listening socket that the app will use for sending AV data and control respectively.
10. Application Session Server sends first message so Server Manager knows that it is now up and running
13/14. Session Manager has an API to allow the Application Manager to get the socket name that the App will use for communication with Rialto which it should fetch as soon as it is notified that Rialto has moved the app out of the Not Running state so that it can be passed to the app/container when it is launched.
2. RialtoServerManager will need to look up which RialtoApplicationSessionServer to which to send the notification
Same sequence as Not Running→Inactive but change target state to Active and allocate shared memory buffer after creating session management socket.
6. Free any Player resources means close any open GStreamer pipelines, for example those used for AV playback and/or UI audio.
6. The Session Server process should self terminate once it has sent the NotRunning notification to the Server Manager.
Not shown for brevity, but should perform all of the cleanup operations in Rialto Sessions server shown in Active→Inactive & Inactive->Not Running.
This following diagram shows a typical sequence for when the Application Manager needs to make an application active when a currently running application is using the Player resources that the new application requires. The application manager therefore moves the current application into the inactive state to free up the resources and once that is complete switches the new application into the active state so that it can acquire those resources.