Package org.cometd.server.ext
Class ActivityExtension.SessionExtension
- java.lang.Object
-
- org.cometd.server.ext.ActivityExtension.SessionExtension
-
- All Implemented Interfaces:
ServerSession.Extension
- Enclosing class:
- ActivityExtension
public static class ActivityExtension.SessionExtension extends java.lang.Object implements ServerSession.Extension
Monitors the activity of a singleServerSession
, disconnecting it when the max inactivity period is exceeded.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.cometd.bayeux.server.ServerSession.Extension
ServerSession.Extension.Adapter
-
-
Constructor Summary
Constructors Constructor Description SessionExtension(ActivityExtension.Activity activity, long maxInactivityPeriod)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
disconnect(ServerSession session)
protected long
getLastActivity()
long
getMaxInactivityPeriod()
boolean
isInactive()
protected void
markActive()
boolean
rcv(ServerSession session, ServerMessage.Mutable message)
Callback method invoked every time a normal message is incoming.boolean
rcvMeta(ServerSession session, ServerMessage.Mutable message)
Callback method invoked every time a meta message is incoming.ServerMessage
send(ServerSession session, ServerMessage message)
Callback method invoked every time a normal message is outgoing.boolean
sendMeta(ServerSession session, ServerMessage.Mutable message)
Callback method invoked every time a meta message is outgoing.
-
-
-
Constructor Detail
-
SessionExtension
public SessionExtension(ActivityExtension.Activity activity, long maxInactivityPeriod)
-
-
Method Detail
-
getMaxInactivityPeriod
public long getMaxInactivityPeriod()
- Returns:
- the max inactivity period, in milliseconds
-
getLastActivity
protected long getLastActivity()
- Returns:
- the last activity timestamp, in nanoseconds
-
rcv
public boolean rcv(ServerSession session, ServerMessage.Mutable message)
Description copied from interface:ServerSession.Extension
Callback method invoked every time a normal message is incoming.
- Specified by:
rcv
in interfaceServerSession.Extension
- Parameters:
session
- the session that sent the messagemessage
- the incoming message- Returns:
- true if message processing should continue, false if it should stop
-
rcvMeta
public boolean rcvMeta(ServerSession session, ServerMessage.Mutable message)
Description copied from interface:ServerSession.Extension
Callback method invoked every time a meta message is incoming.
- Specified by:
rcvMeta
in interfaceServerSession.Extension
- Parameters:
session
- the session that is sent the messagemessage
- the incoming meta message- Returns:
- true if message processing should continue, false if it should stop
-
send
public ServerMessage send(ServerSession session, ServerMessage message)
Description copied from interface:ServerSession.Extension
Callback method invoked every time a normal message is outgoing.
- Specified by:
send
in interfaceServerSession.Extension
- Parameters:
session
- the session receiving the messagemessage
- the outgoing message- Returns:
- The message to send or null to not send the message
-
sendMeta
public boolean sendMeta(ServerSession session, ServerMessage.Mutable message)
Description copied from interface:ServerSession.Extension
Callback method invoked every time a meta message is outgoing.
- Specified by:
sendMeta
in interfaceServerSession.Extension
- Parameters:
session
- the session receiving the messagemessage
- the outgoing meta message- Returns:
- true if message processing should continue, false if it should stop
-
markActive
protected void markActive()
-
isInactive
public boolean isInactive()
-
disconnect
protected void disconnect(ServerSession session)
-
-