Versions Compared

Key

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

...

PlantUML Macro
formatSVG
titleNot Running to Inactive
@startuml

autonumber

participant ApplicationManager
participant RialtoServerManager

RialtoServerManager            ->  RialtoApplicationSessionServer:    SetConfiguration(session_management_socket_name, AppState::Inactive, resources, log_level, display_name)
note right
"resources" structure will specify the maximum decoder resources that the
application is permitted to use. For now it shall have a max_playback_sessions
property and a supports_web_audio flag. This may be enhanced for things like
HD/UHD, audio only etc in future.
end note
RialtoApplicationSessionServer --> RialtoServerManager:
RialtoApplicationSessionServer ->  RialtoApplicationSessionServer:    Create listening socket & bind to session_management_socket_name
opt display_name defined
 RialtoApplicationSessionServer ->  RialtoApplicationSessionServer:    Set WAYLAND_DISPLAY environment variable
end

alt State transition successful
RialtoApplicationSessionServer ->  RialtoApplicationSessionServer:    Set current_state = Inactive
RialtoApplicationSessionServer -// RialtoServerManager:               stateChanged(AppState::Inactive)
RialtoServerManager            -// ApplicationManager:                StateChanged(application_id, AppState::Inactive)
ApplicationManager             ->  RialtoServerManager:               getAppConnectionInfo()
RialtoServerManager            --> ApplicationManager:                session_management_socket_name

else State transition failed

RialtoApplicationSessionServer ->  RialtoApplicationSessionServer:    Unbind/free session management socket (if created)
RialtoApplicationSessionServer -// RialtoServerManager:               stateChanged(AppState::Error)
RialtoServerManager            -// ApplicationManager:                stateChanged(application_id, AppState::Error)
RialtoApplicationSessionServer ->  RialtoApplicationSessionServer !!: Exit process
end

opt Server preloading is active
	note over ApplicationManager, RialtoApplicationSessionServer: Preload RialtoApplicationSessionServer in place of the one that has just been allocated
	ref over ApplicationManager, RialtoApplicationSessionServer : [[#RialtoApplicationSessionManagement-NotRunning→Unitialized(serverpreloading) Not Running→Unitialized (server preloading)]]
end

@enduml

...