Class ReactorNettyWebSocketSession
- java.lang.Object
- org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<T>
- org.springframework.web.reactive.socket.adapter.NettyWebSocketSessionSupport<ReactorNettyWebSocketSession.WebSocketConnection>
- org.springframework.web.reactive.socket.adapter.ReactorNettyWebSocketSession
- All Implemented Interfaces:
WebSocketSession
public class ReactorNettyWebSocketSession extends NettyWebSocketSessionSupport<ReactorNettyWebSocketSession.WebSocketConnection>
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReactorNettyWebSocketSession.WebSocketConnection
Simple container forNettyInbound
andNettyOutbound
.
Field Summary
Fields inherited from class org.springframework.web.reactive.socket.adapter.NettyWebSocketSessionSupport
DEFAULT_FRAME_MAX_SIZE
Fields inherited from class org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession
logger
Constructor Summary
Constructors Constructor Description ReactorNettyWebSocketSession(reactor.netty.http.websocket.WebsocketInbound inbound, reactor.netty.http.websocket.WebsocketOutbound outbound, HandshakeInfo info, NettyDataBufferFactory bufferFactory)
Constructor for the session, using theNettyWebSocketSessionSupport.DEFAULT_FRAME_MAX_SIZE
value.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.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<Void>
close(CloseStatus status)
Close the WebSocket session with the given status.reactor.core.publisher.Flux<WebSocketMessage>
receive()
Provides access to the stream of inbound messages.reactor.core.publisher.Mono<Void>
send(org.reactivestreams.Publisher<WebSocketMessage> messages)
Give a source of outgoing messages, write the messages and return aMono<Void>
that completes when the source completes and writing is done.Methods inherited from class org.springframework.web.reactive.socket.adapter.NettyWebSocketSessionSupport
bufferFactory, toFrame, toMessage
Methods inherited from class org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession
binaryMessage, getAttributes, getDelegate, getHandshakeInfo, getId, getLogPrefix, pingMessage, pongMessage, textMessage, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.web.reactive.socket.WebSocketSession
close
Constructor Detail
ReactorNettyWebSocketSession
public ReactorNettyWebSocketSession(reactor.netty.http.websocket.WebsocketInbound inbound, reactor.netty.http.websocket.WebsocketOutbound outbound, HandshakeInfo info, NettyDataBufferFactory bufferFactory)
Constructor for the session, using theNettyWebSocketSessionSupport.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 Detail
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 interfaceWebSocketSession
- Specified by:
receive
in classAbstractWebSocketSession<ReactorNettyWebSocketSession.WebSocketConnection>
send
public reactor.core.publisher.Mono<Void> send(org.reactivestreams.Publisher<WebSocketMessage> messages)
Description copied from interface:WebSocketSession
Give a source of outgoing messages, write the messages and return aMono<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 interfaceWebSocketSession
- Specified by:
send
in classAbstractWebSocketSession<ReactorNettyWebSocketSession.WebSocketConnection>
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