All Classes and Interfaces
Class
Description
Plugin that must evaluate whether a WebSocket connection shall be allowed, and then authenticate the resulting
MatsSocketSession.
You are NOT supposed to implement this interface! Instances of this interface are created by methods on the
AuthenticationPlugin.AuthenticationContext
, which you are supposed to return from the AuthenticationPlugin.SessionAuthenticator
to inform
the MatsSocketServer
about your verdict of the authentication attempt.These bit-field enums (bit-field) is used by the Client to request different types of debug/meta information from
Server-side, and used by the
AuthenticationPlugin
to tell the MatsSocketServer
which types of
information the specific user is allowed to request - the resulting debug/meta information provided is the
intersection of the requested + allowed.An instance of this interface shall be returned upon invocation of
AuthenticationPlugin.newSessionAuthenticator()
.MatsSockets forwards requests from WebSocket-connected clients to a Mats Endpoint, and must get the reply back to the
client.
If having problems accessing the underlying common data store.
Thrown if the operation resulted in a Unique Constraint situation.
Thrown from
ClusterStoreAndForward.registerSessionAtThisNode(String, String, String, String, String, String)
if the userId does
not match the original userId that created this session.The MatsSocket Java library, along with its several clients libraries, is a WebSocket-"extension" of the Mats library
(there are currently clients for JavaScript (web and Node.js) and Dart (Dart and Flutter)).
Represents an active node-local MatsSocketSession - i.e.
The state of ActiveMatsSocketSession.
Implementation of
MatsSocketServer.ActiveMatsSocketSession
, which is serializable both for MatsSocket and Mats, i.e.RuntimeException raised from methods which directly interfaces with the
ClusterStoreAndForward
and which
cannot "hide" the situation if the data store doesn't work.Should handle Authorization evaluation on the supplied
Principal
and decide whether this message should be forwarded to the Mats fabric (or directly resolved, rejected
or denied).A live representation of a MatsSocketSession.
WebSocket CloseCodes used in MatsSocket, and for what.
Representation of a MatsSocketEndpoint.
The context which the
MatsSocketServer.IncomingAuthorizationAndAdapter
gets to work with when handling an incoming
MatsSocket message.This is the entire "Wire transport" DTO of MatsSocket.
Extension of
MatsSocketServer.MatsSocketEnvelopeDto
which carries some metadata about the processing of the Envelope.Only used for when the MatsSocketEnvelopeDto is exposed via the MatsSocket API - contains "meta-meta"
about the processing of the envelope
Only used for when the MatsSocketEnvelopeDto is exposed via the MatsSocket API - contains "meta-meta"
about the processing of the envelope
A MatsSocketSession, either as represented in the
data store
when gotten via
MatsSocketServer.getMatsSocketSessions(boolean, String, String, String)
(returning MatsSocketSessionDto
), or an ActiveMatsSocketSession
representing an active
MatsSocketSession connected to this node of the MatsSocketServer instance when gotten via
MatsSocketServer.getActiveMatsSocketSessions()
(returning ActiveMatsSocketSessionDto
),
or a LiveMatsSocketSession
which is an interface view over the actual live session
in the MatsSocketServer when gotten via MatsSocketServer.getLiveMatsSocketSessions()
.Implementation of
MatsSocketServer.MatsSocketSession
, which is serializable both for MatsSocket and Mats, i.e.All Message Types (aka MatsSocket Envelope Types) used in the wire-protocol of MatsSocket.
Used to transform the reply message from the Mats endpoint to the reply for the MatsSocket endpoint, and decide
whether to resolve or reject the waiting Client-side Promise (i.e.
Type of "remove": Either DEREGISTER, CLOSE or TIMEOUT.