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
  • Field Details

    • shuttingDown

      protected final AtomicBoolean shuttingDown
    • shutDown

      protected volatile boolean shutDown
  • Constructor Details

    • WebsocketEndpoint

      protected WebsocketEndpoint()
    • WebsocketEndpoint

      protected WebsocketEndpoint(@Nullable Executor requestExecutor)
  • Method Details

    • onOpen

      public void onOpen(jakarta.websocket.Session session, jakarta.websocket.EndpointConfig config)
      Specified by:
      onOpen in class jakarta.websocket.Endpoint
    • deserializeRequest

      protected JsonType deserializeRequest(jakarta.websocket.Session session, byte[] bytes)
    • handleMessage

      protected void handleMessage(jakarta.websocket.Session session, JsonType message)
    • doSendResult

      protected void doSendResult(jakarta.websocket.Session session, RequestResult result)
    • createTasks

      protected Stream<Runnable> createTasks(RequestBatch<?> batch, jakarta.websocket.Session session)
    • sendResultBatch

      protected void sendResultBatch(jakarta.websocket.Session session, List<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:
      onClose in class jakarta.websocket.Endpoint
    • onError

      public void onError(jakarta.websocket.Session session, Throwable e)
      Overrides:
      onError in class jakarta.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 CompressionAlgorithm getCompressionAlgorithm(jakarta.websocket.Session session)
    • getProjectId

      protected String getProjectId(jakarta.websocket.Session session)
    • getClientId

      protected String getClientId(jakarta.websocket.Session session)
    • getClientName

      protected String getClientName(jakarta.websocket.Session session)
    • registerMetrics

      protected void registerMetrics(ClientEvent event)