Package org.java_websocket.extensions
Class DefaultExtension
java.lang.Object
org.java_websocket.extensions.DefaultExtension
- All Implemented Interfaces:
IExtension
- Direct Known Subclasses:
CompressionExtension
Class which represents the normal websocket implementation specified by rfc6455.
This is a fallback and will always be available for a Draft_6455
- Since:
- 1.3.5
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanacceptProvidedExtensionAsClient(String inputExtension) Check if the received Sec-WebSocket-Extensions header field contains a offer for the specific extension if the endpoint is in the role of a clientbooleanacceptProvidedExtensionAsServer(String inputExtension) Check if the received Sec-WebSocket-Extensions header field contains a offer for the specific extension if the endpoint is in the role of a serverExtensions must only be by one websocket at all.voiddecodeFrame(Framedata inputFrame) Decode a frame with a extension specific algorithm.voidencodeFrame(Framedata inputFrame) Encode a frame with a extension specific algorithm.booleanReturn the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint is in the role of a client.Return the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint is in the role of a server.inthashCode()voidisFrameValid(Framedata inputFrame) Check if the received frame is correctly implemented by the other endpoint and there are no specification errors (like wrongly set RSV)voidreset()Cleaning up internal stats when the draft gets reset.toString()Return a string which should contain the class name as well as additional information about the current configurations for this extension (DEBUG purposes)
-
Constructor Details
-
DefaultExtension
public DefaultExtension()
-
-
Method Details
-
decodeFrame
Description copied from interface:IExtensionDecode a frame with a extension specific algorithm. The algorithm is subject to be implemented by the specific extension. The resulting frame will be used in the application- Specified by:
decodeFramein interfaceIExtension- Parameters:
inputFrame- the frame, which has do be decoded to be used in the application- Throws:
InvalidDataException- Throw InvalidDataException if the received frame is not correctly implemented by the other endpoint or there are other protocol errors/decoding errors
-
encodeFrame
Description copied from interface:IExtensionEncode a frame with a extension specific algorithm. The algorithm is subject to be implemented by the specific extension. The resulting frame will be send to the other endpoint.- Specified by:
encodeFramein interfaceIExtension- Parameters:
inputFrame- the frame, which has do be encoded to be used on the other endpoint
-
acceptProvidedExtensionAsServer
Description copied from interface:IExtensionCheck if the received Sec-WebSocket-Extensions header field contains a offer for the specific extension if the endpoint is in the role of a server- Specified by:
acceptProvidedExtensionAsServerin interfaceIExtension- Parameters:
inputExtension- the received Sec-WebSocket-Extensions header field offered by the other endpoint- Returns:
- true, if the offer does fit to this specific extension
-
acceptProvidedExtensionAsClient
Description copied from interface:IExtensionCheck if the received Sec-WebSocket-Extensions header field contains a offer for the specific extension if the endpoint is in the role of a client- Specified by:
acceptProvidedExtensionAsClientin interfaceIExtension- Parameters:
inputExtension- the received Sec-WebSocket-Extensions header field offered by the other endpoint- Returns:
- true, if the offer does fit to this specific extension
-
isFrameValid
Description copied from interface:IExtensionCheck if the received frame is correctly implemented by the other endpoint and there are no specification errors (like wrongly set RSV)- Specified by:
isFrameValidin interfaceIExtension- Parameters:
inputFrame- the received frame- Throws:
InvalidDataException- Throw InvalidDataException if the received frame is not correctly implementing the specification for the specific extension
-
getProvidedExtensionAsClient
Description copied from interface:IExtensionReturn the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint is in the role of a client. If the extension returns an empty string (""), the offer will not be included in the handshake.- Specified by:
getProvidedExtensionAsClientin interfaceIExtension- Returns:
- the specific Sec-WebSocket-Extensions header for this extension
-
getProvidedExtensionAsServer
Description copied from interface:IExtensionReturn the specific Sec-WebSocket-Extensions header offer for this extension if the endpoint is in the role of a server. If the extension returns an empty string (""), the offer will not be included in the handshake.- Specified by:
getProvidedExtensionAsServerin interfaceIExtension- Returns:
- the specific Sec-WebSocket-Extensions header for this extension
-
copyInstance
Description copied from interface:IExtensionExtensions must only be by one websocket at all. To prevent extensions to be used more than once the Websocket implementation should call this method in order to create a new usable version of a given extension instance.
The copy can be safely used in conjunction with a new websocket connection.- Specified by:
copyInstancein interfaceIExtension- Returns:
- a copy of the extension
-
reset
public void reset()Description copied from interface:IExtensionCleaning up internal stats when the draft gets reset.- Specified by:
resetin interfaceIExtension
-
toString
Description copied from interface:IExtensionReturn a string which should contain the class name as well as additional information about the current configurations for this extension (DEBUG purposes)- Specified by:
toStringin interfaceIExtension- Overrides:
toStringin classObject- Returns:
- a string containing the class name as well as additional information
-
hashCode
public int hashCode() -
equals
-