Package tigase.server.websocket
Interface WebSocketProtocolIfc
-
- All Known Implementing Classes:
WebSocketHixie76
,WebSocketHybi
public interface WebSocketProtocolIfc
Interface which needs to be implemented by any implemention of version of WebSocket protocol.
Currently we have stable version but there were older not compatible with current so it may be that new will come in future - also not compatible.- Author:
- andrzej
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
WS_PROTOCOL_KEY
HTTP header which contains name of subprotocol which should be used over established WebSocket connectionstatic java.lang.String
WS_VERSION_KEY
HTTP header used by WebSocket to pass used version of WebSocket protocol from client to server
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
closeConnection(WebSocketXMPPIOService service)
Method closes connection by sending close framejava.nio.ByteBuffer
decodeFrame(WebSocketXMPPIOService service, java.nio.ByteBuffer buf)
Method responsible for decoding data received from socket and returning data after extracting it from WebSocket frame.void
encodeFrameAndWrite(WebSocketXMPPIOService service, java.nio.ByteBuffer buf)
Method encodes data into WebSocket frame and writes it to passed servicejava.lang.String
getId()
Method to retrieve string identifier of implementation of protcol versionboolean
handshake(WebSocketXMPPIOService service, java.util.Map<java.lang.String,java.lang.String> headers, byte[] buf)
Method responsible for handshaking of WebSocket using proper version of protocol.
-
-
-
Field Detail
-
WS_VERSION_KEY
static final java.lang.String WS_VERSION_KEY
HTTP header used by WebSocket to pass used version of WebSocket protocol from client to server- See Also:
- Constant Field Values
-
WS_PROTOCOL_KEY
static final java.lang.String WS_PROTOCOL_KEY
HTTP header which contains name of subprotocol which should be used over established WebSocket connection- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
java.lang.String getId()
Method to retrieve string identifier of implementation of protcol version
-
handshake
boolean handshake(WebSocketXMPPIOService service, java.util.Map<java.lang.String,java.lang.String> headers, byte[] buf) throws java.security.NoSuchAlgorithmException, java.io.IOException
Method responsible for handshaking of WebSocket using proper version of protocol.- Returns:
- false - if implementation is not able to handshake using this version of protocol, in other case return true
- Throws:
java.security.NoSuchAlgorithmException
java.io.IOException
-
decodeFrame
java.nio.ByteBuffer decodeFrame(WebSocketXMPPIOService service, java.nio.ByteBuffer buf)
Method responsible for decoding data received from socket and returning data after extracting it from WebSocket frame.- Returns:
- decoded data or null if not full frame is available in input buffer
-
encodeFrameAndWrite
void encodeFrameAndWrite(WebSocketXMPPIOService service, java.nio.ByteBuffer buf) throws java.io.IOException
Method encodes data into WebSocket frame and writes it to passed service- Throws:
java.io.IOException
-
closeConnection
void closeConnection(WebSocketXMPPIOService service)
Method closes connection by sending close frame
-
-