## Uses of Interface
org.springframework.web.socket.WebSocketSession

Packages that use WebSocketSession
org.springframework.web.socket: Common abstractions and Spring configuration support for WebSocket applications.
org.springframework.web.socket.adapter: Classes adapting Spring's WebSocket API to and from WebSocket providers.
org.springframework.web.socket.adapter.jetty: Adapter classes for the Jetty WebSocket API.
org.springframework.web.socket.adapter.standard: Adapter classes for the standard Java WebSocket API.
org.springframework.web.socket.client: Client-side abstractions for WebSocket applications.
org.springframework.web.socket.client.jetty: Client-side support for the Jetty WebSocket API.
org.springframework.web.socket.client.standard: Client-side classes for use with standard Java WebSocket endpoints.
org.springframework.web.socket.handler: Convenient `WebSocketHandler` implementations and decorators.
org.springframework.web.socket.messaging: WebSocket integration for Spring's messaging module.
org.springframework.web.socket.sockjs.client: SockJS client implementation of `WebSocketClient`.
org.springframework.web.socket.sockjs.transport: Server-side support for SockJS transports including `TransportHandler` implementations for processing incoming requests, their `session` counterparts for sending messages over the various transports, and `DefaultSockJsService`.
org.springframework.web.socket.sockjs.transport.handler: `TransportHandler` implementation classes as well as a concrete `SockJsService`.
org.springframework.web.socket.sockjs.transport.session: SockJS specific implementations of `WebSocketSession`.

### Uses of WebSocketSession in org.springframework.web.socket

Methods in org.springframework.web.socket with parameters of type WebSocketSession
`void` WebSocketHandler.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)` Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred.
`void` WebSocketHandler.`afterConnectionEstablished(WebSocketSession session)` Invoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.
`void` WebSocketHandler.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)` Invoked when a new WebSocket message arrives.
`void` WebSocketHandler.`handleTransportError(WebSocketSession session, Throwable exception)` Handle an error from the underlying WebSocket message transport.

### Uses of WebSocketSession in org.springframework.web.socket.adapter

Subinterfaces of WebSocketSession in org.springframework.web.socket.adapter
`interface` `NativeWebSocketSession` A `WebSocketSession` that exposes the underlying, native WebSocketSession through a getter.

Classes in org.springframework.web.socket.adapter that implement WebSocketSession
`class` `AbstractWebSocketSession<T>` An abstract base class for implementations of `WebSocketSession`.

### Uses of WebSocketSession in org.springframework.web.socket.adapter.jetty

Classes in org.springframework.web.socket.adapter.jetty that implement WebSocketSession
`class` `JettyWebSocketSession` A `WebSocketSession` for use with the Jetty 9.4 WebSocket API.

### Uses of WebSocketSession in org.springframework.web.socket.adapter.standard

Classes in org.springframework.web.socket.adapter.standard that implement WebSocketSession
`class` `StandardWebSocketSession` A `WebSocketSession` for use with the standard WebSocket for Java API.

### Uses of WebSocketSession in org.springframework.web.socket.client

Methods in org.springframework.web.socket.client that return types with arguments of type WebSocketSession
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` WebSocketClient.`doHandshake(WebSocketHandler webSocketHandler, String uriTemplate, Object... uriVariables)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` AbstractWebSocketClient.`doHandshake(WebSocketHandler webSocketHandler, String uriTemplate, Object... uriVars)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` WebSocketClient.`doHandshake(WebSocketHandler webSocketHandler, WebSocketHttpHeaders headers, URI uri)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` AbstractWebSocketClient.`doHandshake(WebSocketHandler webSocketHandler, WebSocketHttpHeaders headers, URI uri)`
`protected abstract org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` AbstractWebSocketClient.`doHandshakeInternal(WebSocketHandler webSocketHandler, org.springframework.http.HttpHeaders headers, URI uri, List<String> subProtocols, List<WebSocketExtension> extensions, Map<String,Object> attributes)` Perform the actual handshake to establish a connection to the server.

### Uses of WebSocketSession in org.springframework.web.socket.client.jetty

Methods in org.springframework.web.socket.client.jetty that return types with arguments of type WebSocketSession
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` JettyWebSocketClient.`doHandshake(WebSocketHandler webSocketHandler, String uriTemplate, Object... uriVars)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` JettyWebSocketClient.`doHandshakeInternal(WebSocketHandler wsHandler, org.springframework.http.HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String,Object> attributes)`

### Uses of WebSocketSession in org.springframework.web.socket.client.standard

Methods in org.springframework.web.socket.client.standard that return types with arguments of type WebSocketSession
`protected org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` StandardWebSocketClient.`doHandshakeInternal(WebSocketHandler webSocketHandler, org.springframework.http.HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String,Object> attributes)`

### Uses of WebSocketSession in org.springframework.web.socket.handler

Classes in org.springframework.web.socket.handler that implement WebSocketSession
`class` `ConcurrentWebSocketSessionDecorator` Wrap a `WebSocketSession` to guarantee only one thread can send messages at a time.
`class` `WebSocketSessionDecorator` Wraps another `WebSocketSession` instance and delegates to it.

Methods in org.springframework.web.socket.handler that return WebSocketSession
`WebSocketSession` WebSocketSessionDecorator.`getDelegate()`
`WebSocketSession` WebSocketSessionDecorator.`getLastSession()`
`static WebSocketSession` WebSocketSessionDecorator.`unwrap(WebSocketSession session)`

Methods in org.springframework.web.socket.handler with parameters of type WebSocketSession
`void` WebSocketHandlerDecorator.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)`
`void` LoggingWebSocketHandlerDecorator.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)`
`void` ExceptionWebSocketHandlerDecorator.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)`
`void` PerConnectionWebSocketHandler.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)`
`void` AbstractWebSocketHandler.`afterConnectionClosed(WebSocketSession session, CloseStatus status)`
`void` WebSocketHandlerDecorator.`afterConnectionEstablished(WebSocketSession session)`
`void` LoggingWebSocketHandlerDecorator.`afterConnectionEstablished(WebSocketSession session)`
`void` ExceptionWebSocketHandlerDecorator.`afterConnectionEstablished(WebSocketSession session)`
`void` PerConnectionWebSocketHandler.`afterConnectionEstablished(WebSocketSession session)`
`void` AbstractWebSocketHandler.`afterConnectionEstablished(WebSocketSession session)`
`protected void` TextWebSocketHandler.`handleBinaryMessage(WebSocketSession session, BinaryMessage message)`
`protected void` AbstractWebSocketHandler.`handleBinaryMessage(WebSocketSession session, BinaryMessage message)`
`void` WebSocketHandlerDecorator.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)`
`void` LoggingWebSocketHandlerDecorator.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)`
`void` ExceptionWebSocketHandlerDecorator.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)`
`void` PerConnectionWebSocketHandler.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)`
`void` AbstractWebSocketHandler.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)`
`protected void` AbstractWebSocketHandler.`handlePongMessage(WebSocketSession session, PongMessage message)`
`protected void` BinaryWebSocketHandler.`handleTextMessage(WebSocketSession session, TextMessage message)`
`protected void` AbstractWebSocketHandler.`handleTextMessage(WebSocketSession session, TextMessage message)`
`void` WebSocketHandlerDecorator.`handleTransportError(WebSocketSession session, Throwable exception)`
`void` LoggingWebSocketHandlerDecorator.`handleTransportError(WebSocketSession session, Throwable exception)`
`void` ExceptionWebSocketHandlerDecorator.`handleTransportError(WebSocketSession session, Throwable exception)`
`void` PerConnectionWebSocketHandler.`handleTransportError(WebSocketSession session, Throwable exception)`
`void` AbstractWebSocketHandler.`handleTransportError(WebSocketSession session, Throwable exception)`
`static void` ExceptionWebSocketHandlerDecorator.`tryCloseWithError(WebSocketSession session, Throwable exception, Log logger)`
`static WebSocketSession` WebSocketSessionDecorator.`unwrap(WebSocketSession session)`

Constructors in org.springframework.web.socket.handler with parameters of type WebSocketSession
Constructor and Description
`ConcurrentWebSocketSessionDecorator(WebSocketSession delegate, int sendTimeLimit, int bufferSizeLimit)` Basic constructor.
`ConcurrentWebSocketSessionDecorator(WebSocketSession delegate, int sendTimeLimit, int bufferSizeLimit, ConcurrentWebSocketSessionDecorator.OverflowStrategy overflowStrategy)` Constructor that also specifies the overflow strategy to use.
`WebSocketSessionDecorator(WebSocketSession session)`

### Uses of WebSocketSession in org.springframework.web.socket.messaging

Methods in org.springframework.web.socket.messaging that return WebSocketSession
`protected WebSocketSession` SubProtocolWebSocketHandler.`decorateSession(WebSocketSession session)` Decorate the given `WebSocketSession`, if desired.

Methods in org.springframework.web.socket.messaging with parameters of type WebSocketSession
`void` SubProtocolWebSocketHandler.`afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)`
`void` SubProtocolWebSocketHandler.`afterConnectionEstablished(WebSocketSession session)`
`void` SubProtocolHandler.`afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, org.springframework.messaging.MessageChannel outputChannel)` Invoked after a `WebSocketSession` has ended.
`void` StompSubProtocolHandler.`afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, org.springframework.messaging.MessageChannel outputChannel)`
`void` SubProtocolHandler.`afterSessionStarted(WebSocketSession session, org.springframework.messaging.MessageChannel outputChannel)` Invoked after a `WebSocketSession` has started.
`void` StompSubProtocolHandler.`afterSessionStarted(WebSocketSession session, org.springframework.messaging.MessageChannel outputChannel)`
`protected WebSocketSession` SubProtocolWebSocketHandler.`decorateSession(WebSocketSession session)` Decorate the given `WebSocketSession`, if desired.
`protected SubProtocolHandler` SubProtocolWebSocketHandler.`findProtocolHandler(WebSocketSession session)` Find a `SubProtocolHandler` for the given session.
`void` SubProtocolWebSocketHandler.`handleMessage(WebSocketSession session, WebSocketMessage<?> message)` Handle an inbound message from a WebSocket client.
`void` SubProtocolHandler.`handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, org.springframework.messaging.MessageChannel outputChannel)` Handle the given `WebSocketMessage` received from a client.
`void` StompSubProtocolHandler.`handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> webSocketMessage, org.springframework.messaging.MessageChannel outputChannel)` Handle incoming WebSocket messages from clients.
`void` SubProtocolHandler.`handleMessageToClient(WebSocketSession session, org.springframework.messaging.Message<?> message)` Handle the given `Message` to the client associated with the given WebSocket session.
`void` StompSubProtocolHandler.`handleMessageToClient(WebSocketSession session, org.springframework.messaging.Message<?> message)` Handle STOMP messages going back out to WebSocket clients.
`void` SubProtocolWebSocketHandler.`handleTransportError(WebSocketSession session, Throwable exception)`

### Uses of WebSocketSession in org.springframework.web.socket.sockjs.client

Classes in org.springframework.web.socket.sockjs.client that implement WebSocketSession
`class` `AbstractClientSockJsSession` Base class for SockJS client implementations of `WebSocketSession`.
`class` `WebSocketClientSockJsSession` An extension of `AbstractClientSockJsSession` wrapping and delegating to an actual WebSocket session.
`class` `XhrClientSockJsSession` An extension of `AbstractClientSockJsSession` for use with HTTP transports simulating a WebSocket session.

Methods in org.springframework.web.socket.sockjs.client that return types with arguments of type WebSocketSession
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` Transport.`connect(TransportRequest request, WebSocketHandler webSocketHandler)` Connect the transport.
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` AbstractXhrTransport.`connect(TransportRequest request, WebSocketHandler handler)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` WebSocketTransport.`connect(TransportRequest request, WebSocketHandler handler)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` SockJsClient.`doHandshake(WebSocketHandler handler, String uriTemplate, Object... uriVars)`
`org.springframework.util.concurrent.ListenableFuture<WebSocketSession>` SockJsClient.`doHandshake(WebSocketHandler handler, WebSocketHttpHeaders headers, URI url)`

Methods in org.springframework.web.socket.sockjs.client with parameters of type WebSocketSession
`void` WebSocketClientSockJsSession.`initializeDelegateSession(WebSocketSession session)`

Method parameters in org.springframework.web.socket.sockjs.client with type arguments of type WebSocketSession
`protected void` JettyXhrTransport.`connectInternal(TransportRequest transportRequest, WebSocketHandler handler, URI url, org.springframework.http.HttpHeaders handshakeHeaders, XhrClientSockJsSession session, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`
`protected abstract void` AbstractXhrTransport.`connectInternal(TransportRequest request, WebSocketHandler handler, URI receiveUrl, org.springframework.http.HttpHeaders handshakeHeaders, XhrClientSockJsSession session, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`
`protected void` RestTemplateXhrTransport.`connectInternal(TransportRequest transportRequest, WebSocketHandler handler, URI receiveUrl, org.springframework.http.HttpHeaders handshakeHeaders, XhrClientSockJsSession session, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`
`protected void` UndertowXhrTransport.`connectInternal(TransportRequest request, WebSocketHandler handler, URI receiveUrl, org.springframework.http.HttpHeaders handshakeHeaders, XhrClientSockJsSession session, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`

Constructor parameters in org.springframework.web.socket.sockjs.client with type arguments of type WebSocketSession
Constructor and Description
`AbstractClientSockJsSession(TransportRequest request, WebSocketHandler handler, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`
`WebSocketClientSockJsSession(TransportRequest request, WebSocketHandler handler, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`
`XhrClientSockJsSession(TransportRequest request, WebSocketHandler handler, XhrTransport transport, org.springframework.util.concurrent.SettableListenableFuture<WebSocketSession> connectFuture)`

### Uses of WebSocketSession in org.springframework.web.socket.sockjs.transport

Subinterfaces of WebSocketSession in org.springframework.web.socket.sockjs.transport
`interface` `SockJsSession` SockJS extension of Spring's standard `WebSocketSession`.

### Uses of WebSocketSession in org.springframework.web.socket.sockjs.transport.handler

Methods in org.springframework.web.socket.sockjs.transport.handler with parameters of type WebSocketSession
`void` SockJsWebSocketHandler.`afterConnectionClosed(WebSocketSession wsSession, CloseStatus status)`
`void` SockJsWebSocketHandler.`afterConnectionEstablished(WebSocketSession wsSession)`
`void` SockJsWebSocketHandler.`handleTextMessage(WebSocketSession wsSession, TextMessage message)`
`void` SockJsWebSocketHandler.`handleTransportError(WebSocketSession webSocketSession, Throwable exception)`

### Uses of WebSocketSession in org.springframework.web.socket.sockjs.transport.session

Classes in org.springframework.web.socket.sockjs.transport.session that implement WebSocketSession
`class` `AbstractHttpSockJsSession` An abstract base class for use with HTTP transport SockJS sessions.
`class` `AbstractSockJsSession` An abstract base class for SockJS sessions implementing `SockJsSession`.
`class` `PollingSockJsSession` A SockJS session for use with polling HTTP transports.
`class` `StreamingSockJsSession` A SockJS session for use with streaming HTTP transports.
`class` `WebSocketServerSockJsSession` A SockJS session for use with the WebSocket transport.

Methods in org.springframework.web.socket.sockjs.transport.session with parameters of type WebSocketSession
`void` WebSocketServerSockJsSession.`handleMessage(TextMessage message, WebSocketSession wsSession)`
`void` WebSocketServerSockJsSession.`initializeDelegateSession(WebSocketSession session)`