Interface WebSocketSession
- All Known Implementing Classes:
AbstractListenerWebSocketSession
,AbstractWebSocketSession
,JettyWebSocketSession
,NettyWebSocketSessionSupport
,ReactorNettyWebSocketSession
,StandardWebSocketSession
,TomcatWebSocketSession
,UndertowWebSocketSession
public interface WebSocketSession
Represents a WebSocket session.
Use session.receive()
to compose on
the inbound message stream, and session.send(publisher)
to provide the outbound message stream.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionbinaryMessage
(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a binary WebSocketMessage using thebufferFactory()
for the session.Return aDataBuffer
Factory to create message payloads.default reactor.core.publisher.Mono<Void>
close()
Close the WebSocket session withCloseStatus.NORMAL
.reactor.core.publisher.Mono<Void>
close
(CloseStatus status) Close the WebSocket session with the given status.reactor.core.publisher.Mono<CloseStatus>
Provides access to theCloseStatus
with which the session is closed either locally or remotely, or completes empty if the session ended without a status.Return the map with attributes associated with the WebSocket session.Return information from the handshake request.getId()
Return the id for the session.boolean
isOpen()
Whether the underlying connection is open.pingMessage
(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a ping WebSocketMessage using thebufferFactory()
for the session.pongMessage
(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a pong WebSocketMessage using thebufferFactory()
for the session.reactor.core.publisher.Flux<WebSocketMessage>
receive()
Provides access to the stream of inbound messages.reactor.core.publisher.Mono<Void>
send
(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.textMessage
(String payload) Factory method to create a textWebSocketMessage
using thebufferFactory()
for the session.
-
Method Details
-
getId
String getId()Return the id for the session. -
getHandshakeInfo
HandshakeInfo getHandshakeInfo()Return information from the handshake request. -
bufferFactory
DataBufferFactory bufferFactory()Return aDataBuffer
Factory to create message payloads.- Returns:
- the buffer factory for the session
-
getAttributes
Return the map with attributes associated with the WebSocket session.- Returns:
- a Map with the session attributes (never
null
) - Since:
- 5.1
-
receive
reactor.core.publisher.Flux<WebSocketMessage> receive()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. -
send
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. -
isOpen
boolean isOpen()Whether the underlying connection is open.- Since:
- 5.3.1
-
close
Close the WebSocket session withCloseStatus.NORMAL
. -
close
Close the WebSocket session with the given status.- Parameters:
status
- the close status
-
closeStatus
reactor.core.publisher.Mono<CloseStatus> closeStatus()Provides access to theCloseStatus
with which the session is closed either locally or remotely, or completes empty if the session ended without a status.- Since:
- 5.3
-
textMessage
Factory method to create a textWebSocketMessage
using thebufferFactory()
for the session. -
binaryMessage
Factory method to create a binary WebSocketMessage using thebufferFactory()
for the session. -
pingMessage
Factory method to create a ping WebSocketMessage using thebufferFactory()
for the session. -
pongMessage
Factory method to create a pong WebSocketMessage using thebufferFactory()
for the session.
-