Class WebsocketEndpoint
java.lang.Object
jakarta.websocket.Endpoint
io.fluxzero.testserver.websocket.WebsocketEndpoint
- Direct Known Subclasses:
ConsumerEndpoint, EventSourcingEndpoint, KeyValueEndPoint, ProducerEndpoint, SchedulingEndpoint, SearchEndpoint
public abstract class WebsocketEndpoint
extends jakarta.websocket.Endpoint
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateTasks(io.fluxzero.common.api.RequestBatch<?> batch, jakarta.websocket.Session session) protected io.fluxzero.common.api.JsonTypedeserializeRequest(jakarta.websocket.Session session, byte[] bytes) protected voiddoSendResult(jakarta.websocket.Session session, io.fluxzero.common.api.RequestResult result) protected Optional<WebsocketEndpoint.SessionBacklog> findAlternativeBacklog(jakarta.websocket.Session closedSession) protected StringgetClientId(jakarta.websocket.Session session) protected StringgetClientName(jakarta.websocket.Session session) protected io.fluxzero.common.serialization.compression.CompressionAlgorithmgetCompressionAlgorithm(jakarta.websocket.Session session) protected StringgetNamespace(jakarta.websocket.Session session) protected voidhandleMessage(jakarta.websocket.Session session, io.fluxzero.common.api.JsonType message) voidonClose(jakarta.websocket.Session session, jakarta.websocket.CloseReason closeReason) voidvoidonOpen(jakarta.websocket.Session session, jakarta.websocket.EndpointConfig config) protected voidregisterMetrics(io.fluxzero.common.api.JsonType event) protected voidsendResultBatch(jakarta.websocket.Session session, List<io.fluxzero.common.api.RequestResult> results) protected voidshutDown()Close all sessions on the websocket after an optional delay.
-
Field Details
-
shuttingDown
-
shutDown
protected volatile boolean shutDown
-
-
Constructor Details
-
WebsocketEndpoint
protected WebsocketEndpoint() -
WebsocketEndpoint
-
-
Method Details
-
onOpen
public void onOpen(jakarta.websocket.Session session, jakarta.websocket.EndpointConfig config) - Specified by:
onOpenin classjakarta.websocket.Endpoint
-
deserializeRequest
protected io.fluxzero.common.api.JsonType deserializeRequest(jakarta.websocket.Session session, byte[] bytes) -
handleMessage
protected void handleMessage(jakarta.websocket.Session session, io.fluxzero.common.api.JsonType message) -
doSendResult
protected void doSendResult(jakarta.websocket.Session session, io.fluxzero.common.api.RequestResult result) -
createTasks
-
sendResultBatch
protected void sendResultBatch(jakarta.websocket.Session session, List<io.fluxzero.common.api.RequestResult> results) -
findAlternativeBacklog
protected Optional<WebsocketEndpoint.SessionBacklog> findAlternativeBacklog(jakarta.websocket.Session closedSession) -
onClose
public void onClose(jakarta.websocket.Session session, jakarta.websocket.CloseReason closeReason) - Overrides:
onClosein classjakarta.websocket.Endpoint
-
onError
- Overrides:
onErrorin classjakarta.websocket.Endpoint
-
shutDown
protected void shutDown()Close all sessions on the websocket after an optional delay. During the delay we don't handle new requests but will be able to send back results. -
getCompressionAlgorithm
protected io.fluxzero.common.serialization.compression.CompressionAlgorithm getCompressionAlgorithm(jakarta.websocket.Session session) -
getNamespace
-
getClientId
-
getClientName
-
registerMetrics
protected void registerMetrics(io.fluxzero.common.api.JsonType event)
-