|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.glassfish.grizzly.filterchain.BaseFilter
org.glassfish.grizzly.websockets.WebSocketFilter
public class WebSocketFilter
WebSocket Filter implementation, which supposed to be placed into a
FilterChain right after HTTP Filter: HttpServerFilter, HttpClientFilter;
depending whether it's server or client side.
The WebSocketFilter handles websocket connection, handshake phases and, when
receives a websocket frame - redirects it to appropriate handler (WebSocketApplication, WebSocketClientHandler) for processing.
| Constructor Summary | |
|---|---|
WebSocketFilter()
|
|
| Method Summary | |
|---|---|
NextAction |
handleClose(FilterChainContext ctx)
Method handles Grizzly Connection close phase. |
NextAction |
handleConnect(FilterChainContext ctx)
Method handles Grizzly Connection connect phase. |
NextAction |
handleRead(FilterChainContext ctx)
Handle Grizzly Connection read phase. |
NextAction |
handleWrite(FilterChainContext ctx)
Handle Grizzly Connection write phase. |
| Methods inherited from class org.glassfish.grizzly.filterchain.BaseFilter |
|---|
createContext, exceptionOccurred, getFilterChain, getIndex, handleAccept, handleEvent, onAdded, onFilterChainChanged, onRemoved |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public WebSocketFilter()
| Method Detail |
|---|
public NextAction handleConnect(FilterChainContext ctx)
throws IOException
Connection connect phase. Check if the Connection
is a client-side WebSocket, if yes - creates websocket handshake packet
and send it to a server. Otherwise, if it's not websocket connection - pass processing
to the next Filter in a chain.
handleConnect in interface FilterhandleConnect in class BaseFilterctx - FilterChainContext
NextAction instruction for FilterChain,
how it should continue the execution
{@link - java.io.IOException}
IOException
public NextAction handleClose(FilterChainContext ctx)
throws IOException
Connection close phase. Check if the Connection
is a WebSocket, if yes - tries to close the websocket gracefully (sending close frame)
and calls WebSocketHandler.onClose(org.glassfish.grizzly.websockets.WebSocket).
If the Grizzly Connection is not websocket - passes processing to the next filter in the chain.
handleClose in interface FilterhandleClose in class BaseFilterctx - FilterChainContext
NextAction instruction for FilterChain,
how it should continue the execution
{@link - java.io.IOException}
IOException
public NextAction handleRead(FilterChainContext ctx)
throws IOException
Connection read phase.
If the Connection has associated WebSocket object (websocket connection),
we check if websocket handshake has been completed for this connection, if not - initiate/validate handshake.
If handshake has been completed - parse websocket Frames one by one and
pass processing to appropriate WebSocketHandler: WebSocketApplication or WebSocketClientHandler
for server- and client- side connections.
handleRead in interface FilterhandleRead in class BaseFilterctx - FilterChainContext
NextAction instruction for FilterChain,
how it should continue the execution
{@link - java.io.IOException}
IOException
public NextAction handleWrite(FilterChainContext ctx)
throws IOException
Connection write phase.
If the Connection has associated WebSocket object (websocket connection),
we assume that message is websocket Frame and serialize it into a Buffer.
handleWrite in interface FilterhandleWrite in class BaseFilterctx - FilterChainContext
NextAction instruction for FilterChain,
how it should continue the execution
{@link - java.io.IOException}
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||