org.glassfish.grizzly.websockets
Class WebSocketEngine

java.lang.Object
  extended by org.glassfish.grizzly.websockets.WebSocketEngine

public class WebSocketEngine
extends Object

WebSockets engine implementation (singleton), which handles WebSocketApplications registration, responsible for client and server handshake validation.

Author:
Alexey Stashok
See Also:
WebSocket, WebSocketApplication

Nested Class Summary
static class WebSocketEngine.WebSocketHolder
          WebSocketHolder object, which gets associated with the Grizzly Connection.
 
Field Summary
static String CLIENT_WS_ORIGIN_HEADER
           
static String CONNECTION
           
static int DEFAULT_TIMEOUT
           
static Version DEFAULT_VERSION
           
static int INITIAL_BUFFER_SIZE
           
static int MASK_SIZE
           
static String ORIGIN_HEADER
           
static String RESPONSE_CODE_HEADER
           
static String RESPONSE_CODE_MESSAGE
           
static int RESPONSE_CODE_VALUE
           
static String SEC_WS_ACCEPT
           
static String SEC_WS_EXTENSIONS_HEADER
           
static String SEC_WS_KEY_HEADER
           
static String SEC_WS_ORIGIN_HEADER
           
static String SEC_WS_PROTOCOL_HEADER
           
static String SEC_WS_VERSION
           
static String SERVER_KEY_HASH
           
static String UPGRADE
           
static String WEBSOCKET
           
 
Method Summary
 WebSocketApplication getApplication(HttpRequestPacket request)
           
static WebSocketEngine getEngine()
           
 WebSocket getWebSocket(Connection connection)
          Get the WebSocket associated with the Grizzly Connection, or null, if there none is associated.
 WebSocketEngine.WebSocketHolder getWebSocketHolder(Connection connection)
           
static ProtocolHandler loadHandler(MimeHeaders headers)
           
 void register(String name, WebSocketApplication app)
          Deprecated. use register(WebSocketApplication)
 void register(WebSocketApplication app)
          Registers the specified WebSocketApplication with the WebSocketEngine.
 WebSocketEngine.WebSocketHolder setWebSocketHolder(Connection connection, ProtocolHandler handler, WebSocket socket)
           
static byte[] toArray(long length)
           
static long toLong(byte[] bytes, int start, int end)
           
static List<String> toString(byte[] bytes)
           
static List<String> toString(byte[] bytes, int start, int end)
           
 void unregister(WebSocketApplication app)
          Un-registers the specified WebSocketApplication with the WebSocketEngine.
 void unregisterAll()
          Un-registers all WebSocketApplication instances with the WebSocketEngine.
 boolean upgrade(FilterChainContext ctx, HttpContent requestContent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SEC_WS_ACCEPT

public static final String SEC_WS_ACCEPT
See Also:
Constant Field Values

SEC_WS_KEY_HEADER

public static final String SEC_WS_KEY_HEADER
See Also:
Constant Field Values

SEC_WS_ORIGIN_HEADER

public static final String SEC_WS_ORIGIN_HEADER
See Also:
Constant Field Values

ORIGIN_HEADER

public static final String ORIGIN_HEADER
See Also:
Constant Field Values

SEC_WS_PROTOCOL_HEADER

public static final String SEC_WS_PROTOCOL_HEADER
See Also:
Constant Field Values

SEC_WS_EXTENSIONS_HEADER

public static final String SEC_WS_EXTENSIONS_HEADER
See Also:
Constant Field Values

SEC_WS_VERSION

public static final String SEC_WS_VERSION
See Also:
Constant Field Values

WEBSOCKET

public static final String WEBSOCKET
See Also:
Constant Field Values

RESPONSE_CODE_MESSAGE

public static final String RESPONSE_CODE_MESSAGE
See Also:
Constant Field Values

RESPONSE_CODE_HEADER

public static final String RESPONSE_CODE_HEADER
See Also:
Constant Field Values

RESPONSE_CODE_VALUE

public static final int RESPONSE_CODE_VALUE
See Also:
Constant Field Values

UPGRADE

public static final String UPGRADE
See Also:
Constant Field Values

CONNECTION

public static final String CONNECTION
See Also:
Constant Field Values

CLIENT_WS_ORIGIN_HEADER

public static final String CLIENT_WS_ORIGIN_HEADER
See Also:
Constant Field Values

DEFAULT_VERSION

public static final Version DEFAULT_VERSION

INITIAL_BUFFER_SIZE

public static final int INITIAL_BUFFER_SIZE
See Also:
Constant Field Values

DEFAULT_TIMEOUT

public static final int DEFAULT_TIMEOUT
See Also:
Constant Field Values

SERVER_KEY_HASH

public static final String SERVER_KEY_HASH
See Also:
Constant Field Values

MASK_SIZE

public static final int MASK_SIZE
See Also:
Constant Field Values
Method Detail

getEngine

public static WebSocketEngine getEngine()

toArray

public static byte[] toArray(long length)

toLong

public static long toLong(byte[] bytes,
                          int start,
                          int end)

toString

public static List<String> toString(byte[] bytes)

toString

public static List<String> toString(byte[] bytes,
                                    int start,
                                    int end)

getApplication

public WebSocketApplication getApplication(HttpRequestPacket request)

upgrade

public boolean upgrade(FilterChainContext ctx,
                       HttpContent requestContent)
                throws IOException
Throws:
IOException

loadHandler

public static ProtocolHandler loadHandler(MimeHeaders headers)

register

@Deprecated
public void register(String name,
                                WebSocketApplication app)
Deprecated. use register(WebSocketApplication)


register

public void register(WebSocketApplication app)
Registers the specified WebSocketApplication with the WebSocketEngine.

Parameters:
app - the WebSocketApplication to register.

unregister

public void unregister(WebSocketApplication app)
Un-registers the specified WebSocketApplication with the WebSocketEngine.

Parameters:
app - the WebSocketApplication to un-register.

unregisterAll

public void unregisterAll()
Un-registers all WebSocketApplication instances with the WebSocketEngine.


getWebSocket

public WebSocket getWebSocket(Connection connection)
Get the WebSocket associated with the Grizzly Connection, or null, if there none is associated.

Parameters:
connection - Grizzly Connection.
Returns:
the WebSocket associated with the Grizzly Connection, or null, if there none is associated.

getWebSocketHolder

public WebSocketEngine.WebSocketHolder getWebSocketHolder(Connection connection)

setWebSocketHolder

public WebSocketEngine.WebSocketHolder setWebSocketHolder(Connection connection,
                                                          ProtocolHandler handler,
                                                          WebSocket socket)


Copyright © 2013 Oracle Corporation. All Rights Reserved.