org.eclipse.jetty.websocket
Class WebSocketFactory

java.lang.Object
  extended by org.eclipse.jetty.util.component.AbstractLifeCycle
      extended by org.eclipse.jetty.websocket.WebSocketFactory
All Implemented Interfaces:
LifeCycle

public class WebSocketFactory
extends AbstractLifeCycle

Factory to create WebSocket connections


Nested Class Summary
static interface WebSocketFactory.Acceptor
           
 
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
 
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
 
Field Summary
 
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
 
Constructor Summary
WebSocketFactory(WebSocketFactory.Acceptor acceptor)
           
WebSocketFactory(WebSocketFactory.Acceptor acceptor, int bufferSize)
           
 
Method Summary
 boolean acceptWebSocket(HttpServletRequest request, HttpServletResponse response)
           
protected  boolean addConnection(WebSocketServletConnection connection)
           
protected  void closeConnections()
           
protected  void doStop()
           
 int getBufferSize()
          Get the bufferSize.
 Map<String,Class<? extends Extension>> getExtensionClassesMap()
           
 int getMaxBinaryMessageSize()
           
 long getMaxIdleTime()
          Get the maxIdleTime.
 int getMaxTextMessageSize()
           
 List<Extension> initExtensions(List<String> requested, int maxDataOpcodes, int maxControlOpcodes, int maxReservedBits)
           
protected  String[] parseProtocols(String protocol)
           
protected  boolean removeConnection(WebSocketServletConnection connection)
           
 void setBufferSize(int bufferSize)
          Set the bufferSize.
 void setMaxBinaryMessageSize(int maxBinaryMessageSize)
          Set the initial maximum binary message size for a connection.
 void setMaxIdleTime(int maxIdleTime)
          Set the maxIdleTime.
 void setMaxTextMessageSize(int maxTextMessageSize)
          Set the initial maximum text message size for a connection.
 void upgrade(HttpServletRequest request, HttpServletResponse response, WebSocket websocket, String protocol)
          Upgrade the request/response to a WebSocket Connection.
 
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, doStart, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WebSocketFactory

public WebSocketFactory(WebSocketFactory.Acceptor acceptor)

WebSocketFactory

public WebSocketFactory(WebSocketFactory.Acceptor acceptor,
                        int bufferSize)
Method Detail

getExtensionClassesMap

public Map<String,Class<? extends Extension>> getExtensionClassesMap()
Returns:
A modifiable map of extension name to extension class

getMaxIdleTime

public long getMaxIdleTime()
Get the maxIdleTime.

Returns:
the maxIdleTime

setMaxIdleTime

public void setMaxIdleTime(int maxIdleTime)
Set the maxIdleTime.

Parameters:
maxIdleTime - the maxIdleTime to set

getBufferSize

public int getBufferSize()
Get the bufferSize.

Returns:
the bufferSize

setBufferSize

public void setBufferSize(int bufferSize)
Set the bufferSize.

Parameters:
bufferSize - the bufferSize to set

getMaxTextMessageSize

public int getMaxTextMessageSize()
Returns:
The initial maximum text message size (in characters) for a connection

setMaxTextMessageSize

public void setMaxTextMessageSize(int maxTextMessageSize)
Set the initial maximum text message size for a connection. This can be changed by the application calling WebSocket.Connection.setMaxTextMessageSize(int).

Parameters:
maxTextMessageSize - The default maximum text message size (in characters) for a connection

getMaxBinaryMessageSize

public int getMaxBinaryMessageSize()
Returns:
The initial maximum binary message size (in bytes) for a connection

setMaxBinaryMessageSize

public void setMaxBinaryMessageSize(int maxBinaryMessageSize)
Set the initial maximum binary message size for a connection. This can be changed by the application calling WebSocket.Connection.setMaxBinaryMessageSize(int).

Parameters:
maxBinaryMessageSize - The default maximum binary message size (in bytes) for a connection

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class AbstractLifeCycle
Throws:
Exception

upgrade

public void upgrade(HttpServletRequest request,
                    HttpServletResponse response,
                    WebSocket websocket,
                    String protocol)
             throws IOException
Upgrade the request/response to a WebSocket Connection.

This method will not normally return, but will instead throw a UpgradeConnectionException, to exit HTTP handling and initiate WebSocket handling of the connection.

Parameters:
request - The request to upgrade
response - The response to upgrade
websocket - The websocket handler implementation to use
protocol - The websocket protocol
Throws:
IOException - in case of I/O errors

parseProtocols

protected String[] parseProtocols(String protocol)

acceptWebSocket

public boolean acceptWebSocket(HttpServletRequest request,
                               HttpServletResponse response)
                        throws IOException
Throws:
IOException

initExtensions

public List<Extension> initExtensions(List<String> requested,
                                      int maxDataOpcodes,
                                      int maxControlOpcodes,
                                      int maxReservedBits)

addConnection

protected boolean addConnection(WebSocketServletConnection connection)

removeConnection

protected boolean removeConnection(WebSocketServletConnection connection)

closeConnections

protected void closeConnections()


Copyright © 1995-2012 Mort Bay Consulting. All Rights Reserved.