Class WebsocketEndpoint
java.lang.Object
jakarta.websocket.Endpoint
io.fluxcapacitor.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.fluxcapacitor.common.api.RequestBatch<?> batch, jakarta.websocket.Session session) protected io.fluxcapacitor.common.api.JsonTypedeserializeRequest(jakarta.websocket.Session session, byte[] bytes) protected voiddoSendResult(jakarta.websocket.Session session, io.fluxcapacitor.common.api.QueryResult result) protected Optional<WebsocketEndpoint.SessionBacklog> findAlternativeBacklog(jakarta.websocket.Session closedSession) protected StringgetClientId(jakarta.websocket.Session session) protected StringgetClientName(jakarta.websocket.Session session) protected io.fluxcapacitor.common.serialization.compression.CompressionAlgorithmgetCompressionAlgorithm(jakarta.websocket.Session session) protected StringgetProjectId(jakarta.websocket.Session session) protected voidhandleMessage(jakarta.websocket.Session session, io.fluxcapacitor.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.fluxcapacitor.common.api.ClientEvent event) protected voidsendResultBatch(jakarta.websocket.Session session, List<io.fluxcapacitor.common.api.QueryResult> 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.fluxcapacitor.common.api.JsonType deserializeRequest(jakarta.websocket.Session session, byte[] bytes) -
handleMessage
protected void handleMessage(jakarta.websocket.Session session, io.fluxcapacitor.common.api.JsonType message) -
doSendResult
protected void doSendResult(jakarta.websocket.Session session, io.fluxcapacitor.common.api.QueryResult result) -
createTasks
-
sendResultBatch
protected void sendResultBatch(jakarta.websocket.Session session, List<io.fluxcapacitor.common.api.QueryResult> 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.fluxcapacitor.common.serialization.compression.CompressionAlgorithm getCompressionAlgorithm(jakarta.websocket.Session session) -
getProjectId
-
getClientId
-
getClientName
-
registerMetrics
protected void registerMetrics(io.fluxcapacitor.common.api.ClientEvent event)
-