Package io.mats3.matssocket
package io.mats3.matssocket
-
ClassDescriptionPlugin 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 theAuthenticationPlugin.SessionAuthenticator
to inform theMatsSocketServer
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 theAuthenticationPlugin
to tell theMatsSocketServer
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 ofAuthenticationPlugin.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 fromClusterStoreAndForward.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 ofMatsSocketServer.ActiveMatsSocketSession
, which is serializable both for MatsSocket and Mats, i.e.RuntimeException raised from methods which directly interfaces with theClusterStoreAndForward
and which cannot "hide" the situation if the data store doesn't work.Should handle Authorization evaluation on the suppliedPrincipal
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 theMatsSocketServer.IncomingAuthorizationAndAdapter
gets to work with when handling an incoming MatsSocket message.This is the entire "Wire transport" DTO of MatsSocket.Extension ofMatsSocketServer.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 envelopeOnly used for when the MatsSocketEnvelopeDto is exposed via the MatsSocket API - contains "meta-meta" about the processing of the envelopeA MatsSocketSession, either as represented in thedata store
when gotten viaMatsSocketServer.getMatsSocketSessions(boolean, String, String, String)
(returningMatsSocketSessionDto
), or anActiveMatsSocketSession
representing an active MatsSocketSession connected to this node of the MatsSocketServer instance when gotten viaMatsSocketServer.getActiveMatsSocketSessions()
(returningActiveMatsSocketSessionDto
), or aLiveMatsSocketSession
which is an interface view over the actual live session in the MatsSocketServer when gotten viaMatsSocketServer.getLiveMatsSocketSessions()
.Implementation ofMatsSocketServer.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.MatsSocketServer.ReplyAdapter<I,MR, R> 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.