Class JettyWebSocketSession

java.lang.Object
org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
org.springframework.web.reactive.socket.adapter.JettyWebSocketSession
All Implemented Interfaces:
WebSocketSession

public class JettyWebSocketSession extends AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
Spring WebSocketSession implementation that adapts to a Jetty WebSocket Session.
Since:
5.0
Author:
Violeta Georgieva, Rossen Stoyanchev
  • Constructor Details

    • JettyWebSocketSession

      public JettyWebSocketSession(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory)
    • JettyWebSocketSession

      public JettyWebSocketSession(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory, @Nullable reactor.core.publisher.Sinks.Empty<Void> completionSink)
  • Method Details

    • isOpen

      public boolean isOpen()
      Description copied from interface: WebSocketSession
      Whether the underlying connection is open.
    • close

      public reactor.core.publisher.Mono<Void> close(CloseStatus status)
      Description copied from interface: WebSocketSession
      Close the WebSocket session with the given status.
      Parameters:
      status - the close status
    • closeStatus

      public reactor.core.publisher.Mono<CloseStatus> closeStatus()
      Description copied from interface: WebSocketSession
      Provides access to the CloseStatus with which the session is closed either locally or remotely, or completes empty if the session ended without a status.
    • receive

      public reactor.core.publisher.Flux<WebSocketMessage> receive()
      Description copied from interface: WebSocketSession
      Provides access to the stream of inbound messages.

      This stream receives a completion or error signal when the connection is closed. In a typical WebSocketHandler implementation this stream is composed into the overall processing flow, so that when the connection is closed, handling will end.

      See the class-level doc of WebSocketHandler and the reference for more details and examples of how to handle the session.

      Specified by:
      receive in interface WebSocketSession
      Specified by:
      receive in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
    • send

      public reactor.core.publisher.Mono<Void> send(Publisher<WebSocketMessage> messages)
      Description copied from interface: WebSocketSession
      Give a source of outgoing messages, write the messages and return a Mono<Void> that completes when the source completes and writing is done.

      See the class-level doc of WebSocketHandler and the reference for more details and examples of how to handle the session.

      Specified by:
      send in interface WebSocketSession
      Specified by:
      send in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
    • sendMessage

      protected reactor.core.publisher.Mono<Void> sendMessage(WebSocketMessage message)