Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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)

Inactive→Active

PlantUML Macro
formatSVG
titleInactive to Active
@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

...