...
| PlantUML Macro | ||
|---|---|---|
| ||
@startuml
autonumber
participant ApplicationManager
participant RialtoServerManager
ApplicationManager -> RialtoServerManager: create(state_observer, config)
note right: config allows app manager to specify number of preloaded servers, path to RialtoApplicationSessionServer binary, startup timer and heathcheck interval
RialtoServerManager -> RialtoServerManager: Read Rialto-Config json file and load config.
RialtoServerManager -> RialtoServerManager: Read Rialto-Config json overrides file and override config.
loop For num of preloaded server
ref over RialtoServerManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-NotRunning→Unitialized(serverpreloading) Not Running→Unitialized (server preloading)]]
end
RialtoServerManager --> ApplicationManager:
@enduml |
...
| PlantUML Macro | ||||
|---|---|---|---|---|
| ||||
@startuml autonumber participant ApplicationManager participant RialtoApplicationSessionServer ref over ApplicationManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-NotRunning→Inactive Not Running to Inactive]] ApplicationManager -> Application ** : Spawn(AppState::Inactive, listening_socket_name) Application -> RialtoClient ** : Load RialtoClient library RialtoClientApplication -> RialtoClient RialtoApplicationSessionServer: Connect(rialto_listening_socket) note right Connect is not an API call, it is establishing IPC channel with server end note registerClient() RialtoClient -> RialtoApplicationSessionServer: Connect(rialto_listening_socket) note right Connect is not an API call, it is establishing IPC channel with server end note opt first registerClient call RialtoClient -> RialtoApplicationSessionServer: registerClient() RialtoApplicationSessionServer --> RialtoClient: status, AppState::Inactive end RialtoClient --> Application: status, AppState::Inactive Application -// ApplicationManager: stateChanged(AppState::Inactive) @enduml |
...
| PlantUML Macro | ||||
|---|---|---|---|---|
| ||||
@startuml autonumber participant ApplicationManager participant RialtoApplicationSessionServer ref over ApplicationManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-NotRunning→Active Not Running to Active]] ApplicationManager -> Application ** : Spawn(AppState::Running, listening_socket_name) Application -> RialtoClient ** : load RialtoClient library library Application -> RialtoClient : registerClient() RialtoClient -> RialtoApplicationSessionServer: Connect(rialto_listening_socket) note right Connect is not an API call, it is establishing IPC channel with server end note RialtoClient opt first registerClient call RialtoClient --> ApplicationRialtoApplicationSessionServer: Application registerClient() RialtoApplicationSessionServer --> RialtoClient: setApplicationState(Running)status, AppState::Running end RialtoClient -> RialtoApplicationSessionServer: GetSharedMemory() RialtoApplicationSessionServer --> RialtoClient: shm_fd RialtoClient -> RialtoClient: Map shared memory RialtoClient --> Application: status, AppState::Running Application -// ApplicationManager: stateChanged(AppState::Running) @enduml |
| PlantUML Macro | ||||
|---|---|---|---|---|
| ||||
@startuml autonumber participant ApplicationManager participant RialtoApplicationSessionServer participant Application participant RialtoClient ref over ApplicationManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-Inactive→Active Inactive to Active]] ApplicationManager RialtoApplicationSessionServer -> Application RialtoClient: NotifyNewStatestateChanged(AppState::Running) ApplicationRialtoClient -> RialtoClientApplication: setApplicationState stateChanged(AppState::Running) RialtoClient -> RialtoApplicationSessionServer: GetSharedMemory() RialtoApplicationSessionServer --> RialtoClient: shm_fd RialtoClient -> RialtoClient: Map shared memory RialtoClient --> Application: status ApplicationManager -> Application : NotifyNewState(AppState::Running) Application -// ApplicationManager: stateChanged(AppState::Running) @enduml |
...
| PlantUML Macro | ||||
|---|---|---|---|---|
| ||||
@startuml autonumber participant ApplicationManager participant RialtoApplicationSessionServer participant Application participant RialtoClient ApplicationManager participant RialtoClient ApplicationManager -> Application : NotifyNewState(AppState::Inactive) Application --> ApplicationManager: RialtoApplicationSessionServer -> RialtoClient: setApplicationStatestateChanged(AppState::Inactive) RialtoClient -> RialtoClient : Free CDM & Player resources RialtoClient -> RialtoClient: Unmap shared memory RialtoClient --> Application: status Application --> Application: -// ApplicationManager: stateChanged(AppState::Inactive) ref over ApplicationManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-Active→Inactive Active to Inactive]] @enduml |
...