Versions Compared

Key

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

...

PlantUML Macro
formatSVG
titleLaunch application in Inactive state
@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
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 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
formatSVG
titleLaunch application in Running state
@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):Running, listening_socket_name)
Application                    ->  RialtoClient ** :               load RialtoClient library
Application                    ->  RialtoClient **: :               load RialtoClient libraryregisterClient()
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

Switch Application from Inactive to Running State

...