Class AbstractSessionKernel
- java.lang.Object
-
- com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
-
- com.inductiveautomation.perspective.gateway.session.AbstractSessionKernel
-
- All Implemented Interfaces:
SessionKernel
public abstract class AbstractSessionKernel extends AbstractLifecycle implements SessionKernel
Base class forSessionKernelimplementations. Encapsulates the basic properties and lifecycle of a session kernel.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonElement>claimToken(java.lang.String type, java.lang.String token)Claim the given token associated with the given data type previously created by this session kernel.java.lang.StringcreateToken(java.lang.String type, com.inductiveautomation.ignition.common.gson.JsonElement jsonElement)Create a new token associated with the given type and data for the this session kernel.com.google.common.eventbus.EventBusgetEventBus()EventManagergetEventManager()longgetLastMessageTime()LoggerExgetLogger()java.lang.StringgetProjectName()PerspectiveSessionCollectiongetSessionCollection()java.util.UUIDgetSessionId()SessionStatsgetSessionStats()longgetStartupTime()protected voidonShutdown()protected voidonStartup()ExecutionQueuequeue()voidtouch()Updates the last message time to the current time in nanoseconds-
Methods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
isRunning, shutdown, startup
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.perspective.gateway.session.SessionKernel
getGson, shutdown, startup
-
-
-
-
Method Detail
-
getSessionCollection
public PerspectiveSessionCollection getSessionCollection()
- Specified by:
getSessionCollectionin interfaceSessionKernel- Returns:
- the
PerspectiveSessionCollectionwhich contains the session
-
getProjectName
public java.lang.String getProjectName()
- Specified by:
getProjectNamein interfaceSessionKernel- Returns:
- the name of the project associated with the session
-
queue
public ExecutionQueue queue()
- Specified by:
queuein interfaceSessionKernel- Returns:
- the
ExecutionQueueused to run session tasks in serial
-
getLogger
public LoggerEx getLogger()
- Specified by:
getLoggerin interfaceSessionKernel- Returns:
- the
LoggerExassociated with the session
-
getEventBus
public com.google.common.eventbus.EventBus getEventBus()
- Specified by:
getEventBusin interfaceSessionKernel
-
getEventManager
public EventManager getEventManager()
- Specified by:
getEventManagerin interfaceSessionKernel- Returns:
- the
EventManagerassociated with the session
-
getSessionId
public java.util.UUID getSessionId()
- Specified by:
getSessionIdin interfaceSessionKernel- Returns:
- the session's unique identifier
-
getStartupTime
public long getStartupTime()
- Specified by:
getStartupTimein interfaceSessionKernel- Returns:
- the time in nanoseconds when the session kernel started (or 0 if the session kernel has not yet been started)
-
getLastMessageTime
public long getLastMessageTime()
- Specified by:
getLastMessageTimein interfaceSessionKernel- Returns:
- the time in nanoseconds when the last message was received by the session containing this kernel
-
getSessionStats
public SessionStats getSessionStats()
- Specified by:
getSessionStatsin interfaceSessionKernel
-
touch
public void touch()
Description copied from interface:SessionKernelUpdates the last message time to the current time in nanoseconds- Specified by:
touchin interfaceSessionKernel- See Also:
System.nanoTime()
-
onStartup
protected void onStartup()
- Specified by:
onStartupin classAbstractLifecycle
-
onShutdown
protected void onShutdown()
- Specified by:
onShutdownin classAbstractLifecycle
-
createToken
public java.lang.String createToken(java.lang.String type, com.inductiveautomation.ignition.common.gson.JsonElement jsonElement)Description copied from interface:SessionKernelCreate a new token associated with the given type and data for the this session kernel. The token expires in 30 seconds.- Specified by:
createTokenin interfaceSessionKernel- Returns:
- the new short-lived token
-
claimToken
public java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonElement> claimToken(java.lang.String type, java.lang.String token)Description copied from interface:SessionKernelClaim the given token associated with the given data type previously created by this session kernel.- Specified by:
claimTokenin interfaceSessionKerneltoken- the token to claim- Returns:
- an
Optionalcontaining theJsonElementdata associated with the given data type and token, or an empty Optional if no data exists for the given data type and token pair
-
-