Interface SessionKernel
-
- All Known Implementing Classes:
AbstractSession
,AbstractSessionKernel
,PerspectiveDesignSession
,PerspectiveProjectSession
,SecuredPerspectiveProjectSession
,SessionKernelWrapper
public interface SessionKernel
The nucleus of a Perspective Session. Instances are meant to be fixed and reused per-session. Useful for sharing between session proxies.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated 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.String
createToken(java.lang.String type, com.inductiveautomation.ignition.common.gson.JsonElement data)
Create a new token associated with the given type and data for the this session kernel.com.google.common.eventbus.EventBus
getEventBus()
Deprecated.Replaced by getEventManager.EventManager
getEventManager()
default com.inductiveautomation.ignition.common.gson.Gson
getGson()
long
getLastMessageTime()
LoggerEx
getLogger()
java.lang.String
getProjectName()
PerspectiveSessionCollection
getSessionCollection()
java.util.UUID
getSessionId()
SessionStats
getSessionStats()
long
getStartupTime()
ExecutionQueue
queue()
void
shutdown()
Shuts down the session kernelvoid
startup()
Starts up the session kernelvoid
touch()
Updates the last message time to the current time in nanoseconds
-
-
-
Method Detail
-
getSessionCollection
PerspectiveSessionCollection getSessionCollection()
- Returns:
- the
PerspectiveSessionCollection
which contains the session
-
getProjectName
java.lang.String getProjectName()
- Returns:
- the name of the project associated with the session
-
getGson
default com.inductiveautomation.ignition.common.gson.Gson getGson()
- Returns:
- a
Gson
instance for json serialization / de-serialization
-
queue
ExecutionQueue queue()
- Returns:
- the
ExecutionQueue
used to run session tasks in serial
-
getEventBus
@Deprecated com.google.common.eventbus.EventBus getEventBus()
Deprecated.Replaced by getEventManager. To be removed in 8.2.0
-
getEventManager
EventManager getEventManager()
- Returns:
- the
EventManager
associated with the session
-
getSessionId
java.util.UUID getSessionId()
- Returns:
- the session's unique identifier
-
startup
void startup()
Starts up the session kernel- Throws:
java.lang.IllegalStateException
- if the session kernel has already been started or shutdown
-
shutdown
void shutdown()
Shuts down the session kernel- Throws:
java.lang.IllegalStateException
- if the session has not been started or if it has already been shut down
-
getStartupTime
long getStartupTime()
- Returns:
- the time in nanoseconds when the session kernel started (or 0 if the session kernel has not yet been started)
-
getLastMessageTime
long getLastMessageTime()
- Returns:
- the time in nanoseconds when the last message was received by the session containing this kernel
-
getSessionStats
SessionStats getSessionStats()
-
touch
void touch()
Updates the last message time to the current time in nanoseconds- See Also:
System.nanoTime()
-
createToken
java.lang.String createToken(java.lang.String type, com.inductiveautomation.ignition.common.gson.JsonElement data)
Create a new token associated with the given type and data for the this session kernel. The token expires in 30 seconds.- Returns:
- the new short-lived token
-
claimToken
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.- Parameters:
token
- the token to claim- Returns:
- an
Optional
containing theJsonElement
data associated with the given data type and token, or an empty Optional if no data exists for the given data type and token pair
-
-