Package io.undertow.websockets.jsr
Class UndertowSession
- java.lang.Object
-
- io.undertow.websockets.jsr.UndertowSession
-
- All Implemented Interfaces:
Closeable,AutoCloseable,javax.websocket.Session
public final class UndertowSession extends Object implements javax.websocket.Session
Sessionimplementation which makes use of the high-level WebSocket API of undertow under the hood.- Author:
- Norman Maurer
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> voidaddMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Partial<T> handler)<T> voidaddMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Whole<T> handler)voidaddMessageHandler(javax.websocket.MessageHandler messageHandler)voidclose()voidclose(javax.websocket.CloseReason closeReason)voidcloseInternal()voidcloseInternal(javax.websocket.CloseReason closeReason)voidforceClose()javax.websocket.RemoteEndpoint.AsyncgetAsyncRemote()javax.websocket.RemoteEndpoint.BasicgetBasicRemote()ServerWebSocketContainergetContainer()EncodinggetEncoding()ExecutorgetExecutor()StringgetId()intgetMaxBinaryMessageBufferSize()longgetMaxIdleTimeout()intgetMaxTextMessageBufferSize()Set<javax.websocket.MessageHandler>getMessageHandlers()List<javax.websocket.Extension>getNegotiatedExtensions()StringgetNegotiatedSubprotocol()Set<javax.websocket.Session>getOpenSessions()Map<String,String>getPathParameters()StringgetProtocolVersion()StringgetQueryString()Map<String,List<String>>getRequestParameterMap()URIgetRequestURI()PrincipalgetUserPrincipal()Map<String,Object>getUserProperties()io.undertow.websockets.core.WebSocketChannelgetWebSocketChannel()booleanisOpen()booleanisSecure()voidremoveMessageHandler(javax.websocket.MessageHandler messageHandler)voidsetMaxBinaryMessageBufferSize(int i)voidsetMaxIdleTimeout(long milliseconds)voidsetMaxTextMessageBufferSize(int i)voidsetReceiveListener(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel> handler)sets the recieve listener This should only be used for annotated endpoints.
-
-
-
Method Detail
-
getContainer
public ServerWebSocketContainer getContainer()
- Specified by:
getContainerin interfacejavax.websocket.Session
-
addMessageHandler
public void addMessageHandler(javax.websocket.MessageHandler messageHandler) throws IllegalStateException- Specified by:
addMessageHandlerin interfacejavax.websocket.Session- Throws:
IllegalStateException
-
addMessageHandler
public <T> void addMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Whole<T> handler)
- Specified by:
addMessageHandlerin interfacejavax.websocket.Session
-
addMessageHandler
public <T> void addMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Partial<T> handler)
- Specified by:
addMessageHandlerin interfacejavax.websocket.Session
-
getMessageHandlers
public Set<javax.websocket.MessageHandler> getMessageHandlers()
- Specified by:
getMessageHandlersin interfacejavax.websocket.Session
-
removeMessageHandler
public void removeMessageHandler(javax.websocket.MessageHandler messageHandler)
- Specified by:
removeMessageHandlerin interfacejavax.websocket.Session
-
setReceiveListener
public void setReceiveListener(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel> handler)
sets the recieve listener This should only be used for annotated endpoints.- Parameters:
handler- The handler
-
getProtocolVersion
public String getProtocolVersion()
- Specified by:
getProtocolVersionin interfacejavax.websocket.Session
-
getNegotiatedSubprotocol
public String getNegotiatedSubprotocol()
- Specified by:
getNegotiatedSubprotocolin interfacejavax.websocket.Session
-
isSecure
public boolean isSecure()
- Specified by:
isSecurein interfacejavax.websocket.Session
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejavax.websocket.Session
-
getMaxIdleTimeout
public long getMaxIdleTimeout()
- Specified by:
getMaxIdleTimeoutin interfacejavax.websocket.Session
-
setMaxIdleTimeout
public void setMaxIdleTimeout(long milliseconds)
- Specified by:
setMaxIdleTimeoutin interfacejavax.websocket.Session
-
getId
public String getId()
- Specified by:
getIdin interfacejavax.websocket.Session
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfacejavax.websocket.Session- Throws:
IOException
-
close
public void close(javax.websocket.CloseReason closeReason) throws IOException- Specified by:
closein interfacejavax.websocket.Session- Throws:
IOException
-
closeInternal
public void closeInternal() throws IOException- Throws:
IOException
-
closeInternal
public void closeInternal(javax.websocket.CloseReason closeReason) throws IOException- Throws:
IOException
-
forceClose
public void forceClose()
-
getRequestURI
public URI getRequestURI()
- Specified by:
getRequestURIin interfacejavax.websocket.Session
-
getRequestParameterMap
public Map<String,List<String>> getRequestParameterMap()
- Specified by:
getRequestParameterMapin interfacejavax.websocket.Session
-
getQueryString
public String getQueryString()
- Specified by:
getQueryStringin interfacejavax.websocket.Session
-
getPathParameters
public Map<String,String> getPathParameters()
- Specified by:
getPathParametersin interfacejavax.websocket.Session
-
getUserProperties
public Map<String,Object> getUserProperties()
- Specified by:
getUserPropertiesin interfacejavax.websocket.Session
-
getUserPrincipal
public Principal getUserPrincipal()
- Specified by:
getUserPrincipalin interfacejavax.websocket.Session
-
setMaxBinaryMessageBufferSize
public void setMaxBinaryMessageBufferSize(int i)
- Specified by:
setMaxBinaryMessageBufferSizein interfacejavax.websocket.Session
-
getMaxBinaryMessageBufferSize
public int getMaxBinaryMessageBufferSize()
- Specified by:
getMaxBinaryMessageBufferSizein interfacejavax.websocket.Session
-
setMaxTextMessageBufferSize
public void setMaxTextMessageBufferSize(int i)
- Specified by:
setMaxTextMessageBufferSizein interfacejavax.websocket.Session
-
getMaxTextMessageBufferSize
public int getMaxTextMessageBufferSize()
- Specified by:
getMaxTextMessageBufferSizein interfacejavax.websocket.Session
-
getAsyncRemote
public javax.websocket.RemoteEndpoint.Async getAsyncRemote()
- Specified by:
getAsyncRemotein interfacejavax.websocket.Session
-
getBasicRemote
public javax.websocket.RemoteEndpoint.Basic getBasicRemote()
- Specified by:
getBasicRemotein interfacejavax.websocket.Session
-
getOpenSessions
public Set<javax.websocket.Session> getOpenSessions()
- Specified by:
getOpenSessionsin interfacejavax.websocket.Session
-
getNegotiatedExtensions
public List<javax.websocket.Extension> getNegotiatedExtensions()
- Specified by:
getNegotiatedExtensionsin interfacejavax.websocket.Session
-
getEncoding
public Encoding getEncoding()
-
getWebSocketChannel
public io.undertow.websockets.core.WebSocketChannel getWebSocketChannel()
-
getExecutor
public Executor getExecutor()
-
-