...
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/88. Application Session Server sends first message so Server Manager knows that it is now up and running
13. Session server creates the share memory region and listening socket that the app will use for sending AV data and control respectively.
1017/18. Application Session Server sends first message so Server Manager knows that it is now up and running13/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 .(this is optional as the app manager can supply the socket name in step 1)
| PlantUML Macro | ||||
|---|---|---|---|---|
| ||||
@startuml autonumber participant ApplicationManager participant RialtoServerManager participant RialtoApplicationSessionServer ApplicationManager -> RialtoServerManager: changeSessionServerState(application_id, AppState::Active) RialtoServerManager -> RialtoApplicationSessionServer: SetState(AppState::Active) RialtoApplicationSessionServer --> RialtoServerManager: OK/ERROR RialtoServerManager --> ApplicationManager: OK/ERROR RialtoApplicationSessionServer -> RialtoApplicationSessionServer: Allocate shared memory buffer opt State transition successful RialtoApplicationSessionServer -> RialtoApplicationSessionServer: Set current_state = Active RialtoApplicationSessionServer -// RialtoServerManager: stateChanged(AppState::Active) RialtoServerManager -// ApplicationManager: stateChanged(application_id, AppState::Active) else State transition failed RialtoApplicationSessionServer -> RialtoApplicationSessionServer: Free shared memory buffer if allocated RialtoApplicationSessionServer -// RialtoServerManager: stateChanged(AppState::Error) RialtoServerManager -// ApplicationManager: stateChanged(application_id, AppState::Error) end @enduml |
...