Interface Session
-
- All Superinterfaces:
Runnable
- All Known Implementing Classes:
AbstractSession
,MultiTaskSession
,SingleTaskSession
public interface Session extends Runnable
Requests that arrive through theUnifiedHandler
are all processed within aSession
implementation. A session accepts aSessionTask
as the work it is meant to perform and those tasks are constructed from incoming requests. A session may be as short-lived as processing a single task before exiting, as with theSingleTaskSession
or may be longer-lived by handling multiple tasks, as with theMultiTaskSession
.
-
-
Field Summary
Fields Modifier and Type Field Description static com.codahale.metrics.Timer
evalOpTimer
static com.codahale.metrics.Timer
traversalOpTimer
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
getSessionId()
Gets the identifier for the session.boolean
isAcceptingTasks()
Determines if this session can accept additional tasks or not.boolean
isBoundTo(io.netty.channel.Channel channel)
Determines if the suppliedChannel
object is the same as the one bound to theSession
.void
setSessionCancelFuture(ScheduledFuture<?> f)
Sets a reference to the job that will cancel this session if it exceeds its timeout period.void
setSessionFuture(Future<?> f)
Sets a reference to the job itself that is running this session.boolean
submitTask(SessionTask sessionTask)
Adds a task for session to complete.void
triggerTimeout(long timeout, boolean causedBySession)
Provides a general way to interrupt the session by way of a timeout.
-
-
-
Method Detail
-
getSessionId
String getSessionId()
Gets the identifier for the session.
-
submitTask
boolean submitTask(SessionTask sessionTask) throws RejectedExecutionException
Adds a task for session to complete.- Throws:
RejectedExecutionException
- if the task cannot be queued
-
setSessionCancelFuture
void setSessionCancelFuture(ScheduledFuture<?> f)
Sets a reference to the job that will cancel this session if it exceeds its timeout period.
-
setSessionFuture
void setSessionFuture(Future<?> f)
Sets a reference to the job itself that is running this session.
-
triggerTimeout
void triggerTimeout(long timeout, boolean causedBySession)
Provides a general way to interrupt the session by way of a timeout.- Parameters:
timeout
- the length of time that passed for the timeout to have triggeredcausedBySession
- determines if the timeout triggered due to a particular request (i.e.false
or because of the session lifetime (i.e.true
-
isBoundTo
boolean isBoundTo(io.netty.channel.Channel channel)
Determines if the suppliedChannel
object is the same as the one bound to theSession
.
-
isAcceptingTasks
boolean isAcceptingTasks()
Determines if this session can accept additional tasks or not.
-
-