Class ReactorNettyWebSocketSession

All Implemented Interfaces:
WebSocketSession

public class ReactorNettyWebSocketSession extends NettyWebSocketSessionSupport<ReactorNettyWebSocketSession.WebSocketConnection>
WebSocketSession implementation for use with the Reactor Netty's NettyInbound and NettyOutbound.
Since:
5.0
Author:
Rossen Stoyanchev
  • Constructor Details

    • ReactorNettyWebSocketSession

      public ReactorNettyWebSocketSession(reactor.netty.http.websocket.WebsocketInbound inbound, reactor.netty.http.websocket.WebsocketOutbound outbound, HandshakeInfo info, NettyDataBufferFactory bufferFactory)
      Constructor for the session, using the NettyWebSocketSessionSupport.DEFAULT_FRAME_MAX_SIZE value.
    • ReactorNettyWebSocketSession

      public ReactorNettyWebSocketSession(reactor.netty.http.websocket.WebsocketInbound inbound, reactor.netty.http.websocket.WebsocketOutbound outbound, HandshakeInfo info, NettyDataBufferFactory bufferFactory, int maxFramePayloadLength)
      Constructor with an additional maxFramePayloadLength argument.
      Since:
      5.1
  • Method Details

    • getChannelId

      public io.netty.channel.ChannelId getChannelId()
      Return the id of the underlying Netty channel.
      Since:
      5.3.4
    • 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<ReactorNettyWebSocketSession.WebSocketConnection>
    • 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<ReactorNettyWebSocketSession.WebSocketConnection>
    • 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.