-
public interface IExtensionInterface which specifies all required methods to develop a websocket extension.
-
-
Method Summary
Modifier and Type Method Description abstract voiddecodeFrame(Framedata inputFrame)Decode a frame with a extension specific algorithm. abstract voidencodeFrame(Framedata inputFrame)Encode a frame with a extension specific algorithm. abstract booleanacceptProvidedExtensionAsServer(String inputExtensionHeader)Check if the received Sec-WebSocket-Extensions header field contains a offer for the specificextension if the endpoint is in the role of a server abstract booleanacceptProvidedExtensionAsClient(String inputExtensionHeader)Check if the received Sec-WebSocket-Extensions header field contains a offer for the specificextension if the endpoint is in the role of a client abstract voidisFrameValid(Framedata inputFrame)Check if the received frame is correctly implemented by the other endpoint and there are nospecification errors (like wrongly set RSV) abstract StringgetProvidedExtensionAsClient()Return the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint isin the role of a client. abstract StringgetProvidedExtensionAsServer()Return the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint isin the role of a server. abstract IExtensioncopyInstance()Extensions must only be by one websocket at all. abstract voidreset()Cleaning up internal stats when the draft gets reset. abstract StringtoString()Return a string which should contain the class name as well as additional information about thecurrent configurations for this extension (DEBUG purposes) -
-
Method Detail
-
decodeFrame
abstract void decodeFrame(Framedata inputFrame)
Decode a frame with a extension specific algorithm. The algorithm is subject to be implementedby the specific extension. The resulting frame will be used in the application
- Parameters:
inputFrame- the frame, which has do be decoded to be used in the application
-
encodeFrame
abstract void encodeFrame(Framedata inputFrame)
Encode a frame with a extension specific algorithm. The algorithm is subject to be implementedby the specific extension. The resulting frame will be send to the other endpoint.
- Parameters:
inputFrame- the frame, which has do be encoded to be used on the other endpoint
-
acceptProvidedExtensionAsServer
abstract boolean acceptProvidedExtensionAsServer(String inputExtensionHeader)
Check if the received Sec-WebSocket-Extensions header field contains a offer for the specificextension if the endpoint is in the role of a server
- Parameters:
inputExtensionHeader- the received Sec-WebSocket-Extensions header field offered by theother endpoint
-
acceptProvidedExtensionAsClient
abstract boolean acceptProvidedExtensionAsClient(String inputExtensionHeader)
Check if the received Sec-WebSocket-Extensions header field contains a offer for the specificextension if the endpoint is in the role of a client
- Parameters:
inputExtensionHeader- the received Sec-WebSocket-Extensions header field offered by theother endpoint
-
isFrameValid
abstract void isFrameValid(Framedata inputFrame)
Check if the received frame is correctly implemented by the other endpoint and there are nospecification errors (like wrongly set RSV)
- Parameters:
inputFrame- the received frame
-
getProvidedExtensionAsClient
abstract String getProvidedExtensionAsClient()
Return the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint isin the role of a client. If the extension returns an empty string (""), the offer will not beincluded in the handshake.
-
getProvidedExtensionAsServer
abstract String getProvidedExtensionAsServer()
Return the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint isin the role of a server. If the extension returns an empty string (""), the offer will not beincluded in the handshake.
-
copyInstance
abstract IExtension copyInstance()
Extensions must only be by one websocket at all. To prevent extensions to be used more thanonce the Websocket implementation should call this method in order to create a new usableversion of a given extension instance. The copy can be safely used in conjunction with anew websocket connection.
-
reset
abstract void reset()
Cleaning up internal stats when the draft gets reset.
-
-
-
-