public class WsSession extends Object implements Session
Constructor and Description |
---|
WsSession(Endpoint localEndpoint,
WsRemoteEndpointImplBase wsRemoteEndpoint,
WsWebSocketContainer wsWebSocketContainer,
URI requestUri,
Map<String,List<String>> requestParameterMap,
String queryString,
Principal userPrincipal,
String httpSessionId,
String subProtocol,
Map<String,String> pathParameters,
boolean secure,
EndpointConfig endpointConfig)
Creates a new WebSocket session for communication between the two
provided end points.
|
Modifier and Type | Method and Description |
---|---|
void |
addMessageHandler(MessageHandler listener) |
protected static void |
appendCloseReasonWithTruncation(ByteBuffer msg,
String reason)
Use protected so unit tests can access this method directly.
|
protected void |
checkExpiration() |
void |
close()
Close the connection to the remote end point using the code
CloseReason.CloseCodes.NORMAL_CLOSURE and an
empty reason phrase. |
void |
close(CloseReason closeReason)
Close the connection to the remote end point using the specified code
and reason phrase.
|
RemoteEndpoint.Async |
getAsyncRemote() |
RemoteEndpoint.Basic |
getBasicRemote() |
protected MessageHandler |
getBinaryMessageHandler() |
WebSocketContainer |
getContainer()
Returns the container that created this session.
|
String |
getHttpSessionId() |
String |
getId()
Provides a unique identifier for the session.
|
Endpoint |
getLocal() |
int |
getMaxBinaryMessageBufferSize()
Get the current maximum buffer size (in bytes) for binary messages.
|
long |
getMaxIdleTimeout()
Get the idle timeout for this session in milliseconds.
|
int |
getMaxTextMessageBufferSize()
Get the current maximum buffer size (in characters) for text messages.
|
Set<MessageHandler> |
getMessageHandlers() |
List<Extension> |
getNegotiatedExtensions() |
String |
getNegotiatedSubprotocol() |
Set<Session> |
getOpenSessions()
Obtain the set of currently open sessions for the local endpoint that
this session is associated with.
|
Map<String,String> |
getPathParameters() |
protected MessageHandler.Whole<PongMessage> |
getPongMessageHandler() |
String |
getProtocolVersion() |
String |
getQueryString() |
Map<String,List<String>> |
getRequestParameterMap() |
URI |
getRequestURI() |
protected MessageHandler |
getTextMessageHandler() |
Principal |
getUserPrincipal() |
Map<String,Object> |
getUserProperties() |
boolean |
isOpen() |
boolean |
isSecure() |
void |
onClose(CloseReason closeReason)
Called when a close message is received.
|
protected void |
registerFuture(org.apache.tomcat.websocket.FutureToSendHandler f2sh)
Make the session aware of a
FutureToSendHandler that will need to
be forcibly closed if the session closes before the
FutureToSendHandler completes. |
void |
removeMessageHandler(MessageHandler listener) |
void |
setMaxBinaryMessageBufferSize(int max)
Set the current maximum buffer size (in bytes) for binary messages.
|
void |
setMaxIdleTimeout(long timeout)
Set the idle timeout for this session in milliseconds.
|
void |
setMaxTextMessageBufferSize(int max)
Set the current maximum buffer size (in characters) for text messages.
|
protected void |
unregisterFuture(org.apache.tomcat.websocket.FutureToSendHandler f2sh)
Remove a
FutureToSendHandler from the set of tracked instances. |
protected void |
updateLastActive() |
public WsSession(Endpoint localEndpoint, WsRemoteEndpointImplBase wsRemoteEndpoint, WsWebSocketContainer wsWebSocketContainer, URI requestUri, Map<String,List<String>> requestParameterMap, String queryString, Principal userPrincipal, String httpSessionId, String subProtocol, Map<String,String> pathParameters, boolean secure, EndpointConfig endpointConfig) throws DeploymentException
Thread.getContextClassLoader()
at the time this constructor is called will be used when calling
Endpoint.onClose(Session, CloseReason)
.localEndpoint
- wsRemoteEndpoint
- DeploymentException
public WebSocketContainer getContainer()
javax.websocket.Session
getContainer
in interface Session
public void addMessageHandler(MessageHandler listener)
addMessageHandler
in interface Session
public Set<MessageHandler> getMessageHandlers()
getMessageHandlers
in interface Session
public void removeMessageHandler(MessageHandler listener)
removeMessageHandler
in interface Session
public String getProtocolVersion()
getProtocolVersion
in interface Session
public String getNegotiatedSubprotocol()
getNegotiatedSubprotocol
in interface Session
public List<Extension> getNegotiatedExtensions()
getNegotiatedExtensions
in interface Session
public long getMaxIdleTimeout()
javax.websocket.Session
getMaxIdleTimeout
in interface Session
public void setMaxIdleTimeout(long timeout)
javax.websocket.Session
setMaxIdleTimeout
in interface Session
public void setMaxBinaryMessageBufferSize(int max)
javax.websocket.Session
setMaxBinaryMessageBufferSize
in interface Session
public int getMaxBinaryMessageBufferSize()
javax.websocket.Session
getMaxBinaryMessageBufferSize
in interface Session
public void setMaxTextMessageBufferSize(int max)
javax.websocket.Session
setMaxTextMessageBufferSize
in interface Session
public int getMaxTextMessageBufferSize()
javax.websocket.Session
getMaxTextMessageBufferSize
in interface Session
public Set<Session> getOpenSessions()
javax.websocket.Session
getOpenSessions
in interface Session
public RemoteEndpoint.Async getAsyncRemote()
getAsyncRemote
in interface Session
public RemoteEndpoint.Basic getBasicRemote()
getBasicRemote
in interface Session
public void close() throws IOException
javax.websocket.Session
CloseReason.CloseCodes.NORMAL_CLOSURE
and an
empty reason phrase.close
in interface Closeable
close
in interface AutoCloseable
close
in interface Session
IOException
public void close(CloseReason closeReason) throws IOException
javax.websocket.Session
close
in interface Session
IOException
public void onClose(CloseReason closeReason)
protected static void appendCloseReasonWithTruncation(ByteBuffer msg, String reason)
protected void registerFuture(org.apache.tomcat.websocket.FutureToSendHandler f2sh)
FutureToSendHandler
that will need to
be forcibly closed if the session closes before the
FutureToSendHandler
completes.protected void unregisterFuture(org.apache.tomcat.websocket.FutureToSendHandler f2sh)
FutureToSendHandler
from the set of tracked instances.public URI getRequestURI()
getRequestURI
in interface Session
public Map<String,List<String>> getRequestParameterMap()
getRequestParameterMap
in interface Session
public String getQueryString()
getQueryString
in interface Session
public Principal getUserPrincipal()
getUserPrincipal
in interface Session
public Map<String,String> getPathParameters()
getPathParameters
in interface Session
public String getId()
javax.websocket.Session
public Map<String,Object> getUserProperties()
getUserProperties
in interface Session
public Endpoint getLocal()
public String getHttpSessionId()
protected MessageHandler getTextMessageHandler()
protected MessageHandler getBinaryMessageHandler()
protected MessageHandler.Whole<PongMessage> getPongMessageHandler()
protected void updateLastActive()
protected void checkExpiration()
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.