Interface MatsSocketServer.ActiveMatsSocketSession

All Superinterfaces:
MatsSocketServer.MatsSocketSession
All Known Subinterfaces:
MatsSocketServer.LiveMatsSocketSession
All Known Implementing Classes:
MatsSocketServer.ActiveMatsSocketSessionDto
Enclosing interface:
MatsSocketServer

public static interface MatsSocketServer.ActiveMatsSocketSession extends MatsSocketServer.MatsSocketSession
Represents an active node-local MatsSocketSession - i.e. this instance represents a connected MatsSocketSession, having - or just had - an open WebSocket, which by definition can only be connected to a single node. Note that this means that in a fairly load balanced 3-node MatsSocketServer cluster, you should get approximately 1/3 of the ActiveMatsSocketSessions residing on "this" node, while 2/3 of them will reside on the "other" two nodes.

Note: The difference between "active" and "live" is that the "active" are dumb "data transfer objects" (DTOs) which will serialize nicely with both Mats and MatsSocket serialization mechanisms, while the "live" are an interface to the actual live sessions in the MatsSocketServer, and as such has more information - but cannot be (easily) serialized, and not passed as in- or out objects on Mats endpoints.