Session

The Session service permits a client to perform the following actions:

  • Subscribe to all sessions for a list of Users.
  • Subscribe to all sessions for a list of Stations.
  • Subscribe to all sessions for a list of Layouts, meaning sessions for all Stations on those Layouts.

By subscribing to sessions, the client will be notified of events that add a session to or remove a session from the client's view.

A session is created when a user logs into an application. Details about added sessions are included in the sessionsAdded portion of the mesage. If a newly-created session matches a current subscription, the client will receive a message. Any existing sessions that were created before the subscription will also trigger a message. Finally, if a configuration change causes an existing session to enter the client's view, a message will also be sent; for example, if the client has a subscription to sessions for a layout and a station with a session is added to that layout.

A session ends when a user logs out of an application. Details about removed sessions are included in the sessionsRemoved portion of the message. If a session ends that matches a current subscription, the client will receive a message. The client will also recieve a message if the session is no longer visible to the client because of a configuration change.

If a user changes stations, depending on the current subscriptions, that might generate both a sessionsRemoved message (for the original station) and a sessionsAdded message (for the new station).