Class PerspectiveSessionMonitor
- java.lang.Object
-
- com.inductiveautomation.perspective.gateway.session.PerspectiveSessionMonitor
-
public class PerspectiveSessionMonitor extends java.lang.Object
Simple class which holds a set of auth sessions that are currently live. These sessions are added by the perspective auth session itself when it gets an http binding event. It calls remove when the unbinding event is fired.
-
-
Constructor Summary
Constructors Constructor Description PerspectiveSessionMonitor(PerspectiveContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<InternalSession>
findSession(java.util.UUID sessionId)
java.util.Optional<PerspectiveSessionInfo>
getProjectSessionInfo(java.lang.String authId, java.lang.String projectName)
Get read only info on a particular client/designer session.long
getSessionCount(java.util.function.Predicate<InternalSession> predicate)
Count of running client sessions.java.util.List<PerspectiveSessionInfo>
getSessionInfos()
Returns a readonly list of all current PerspectiveAuth sessions.void
onSessionShutdown(SessionShutdownEvent event)
void
onSessionStarted(SessionStartupEvent event)
-
-
-
Constructor Detail
-
PerspectiveSessionMonitor
public PerspectiveSessionMonitor(PerspectiveContext context)
-
-
Method Detail
-
onSessionStarted
public void onSessionStarted(SessionStartupEvent event)
-
onSessionShutdown
public void onSessionShutdown(SessionShutdownEvent event)
-
getSessionInfos
@Nonnull public java.util.List<PerspectiveSessionInfo> getSessionInfos()
Returns a readonly list of all current PerspectiveAuth sessions.
-
getSessionCount
public long getSessionCount(java.util.function.Predicate<InternalSession> predicate)
Count of running client sessions.- Parameters:
predicate
- Only running client sessions that match this predicate will be counted
-
getProjectSessionInfo
public java.util.Optional<PerspectiveSessionInfo> getProjectSessionInfo(java.lang.String authId, java.lang.String projectName)
Get read only info on a particular client/designer session. A convenience method to return only a single session info if that session exists.- Parameters:
authId
- The parent session id.projectName
- The requested project name.- Returns:
- {PerspectiveSessionInfo} The session details or null if not found.
-
findSession
public java.util.Optional<InternalSession> findSession(java.util.UUID sessionId)
-
-