Class WebSocketHandlerImpl
- java.lang.Object
-
- com.microsoft.azure.proton.transport.ws.impl.WebSocketHandlerImpl
-
- All Implemented Interfaces:
WebSocketHandler
public class WebSocketHandlerImpl extends java.lang.Object implements WebSocketHandler
Implementation forWebSocketHandler.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.microsoft.azure.proton.transport.ws.WebSocketHandler
WebSocketHandler.WebSocketMessageType, WebSocketHandler.WebsocketTuple
-
-
Constructor Summary
Constructors Constructor Description WebSocketHandlerImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcalculateHeaderSize(int payloadSize)Gets the size of the header.voidcreatePong(java.nio.ByteBuffer ping, java.nio.ByteBuffer pong)Creates the pong for the "keep-alive", heart beat, network status probing when connecting in a web socket.protected byte[]createRandomMaskingKey()java.lang.StringcreateUpgradeRequest(java.lang.String hostName, java.lang.String webSocketPath, java.lang.String webSocketQuery, int webSocketPort, java.lang.String webSocketProtocol, java.util.Map<java.lang.String,java.lang.String> additionalHeaders)Creates an HTTP request to upgrade to use web sockets.protected WebSocketUpgradecreateWebSocketUpgrade(java.lang.String hostName, java.lang.String webSocketPath, java.lang.String webSocketQuery, int webSocketPort, java.lang.String webSocketProtocol, java.util.Map<java.lang.String,java.lang.String> additionalHeaders)WebSocketHandler.WebsocketTupleunwrapBuffer(java.nio.ByteBuffer srcBuffer)Unwraps the layer from the buffer.java.lang.BooleanvalidateUpgradeReply(java.nio.ByteBuffer buffer)Validates the response.voidwrapBuffer(java.nio.ByteBuffer srcBuffer, java.nio.ByteBuffer dstBuffer)Wraps the source buffer with additional contents from the web socket.
-
-
-
Method Detail
-
createUpgradeRequest
public java.lang.String createUpgradeRequest(java.lang.String hostName, java.lang.String webSocketPath, java.lang.String webSocketQuery, int webSocketPort, java.lang.String webSocketProtocol, java.util.Map<java.lang.String,java.lang.String> additionalHeaders)Description copied from interface:WebSocketHandlerCreates an HTTP request to upgrade to use web sockets.- Specified by:
createUpgradeRequestin interfaceWebSocketHandler- Parameters:
hostName- Name of the host.webSocketPath- Path for the websocket.webSocketQuery- Query for the web socket.webSocketPort- Port for web socket.webSocketProtocol- Protocol to use for web sockets.additionalHeaders- Any additional headers to add to the HTTP upgrade request.- Returns:
- Represents the HTTP request.
-
createPong
public void createPong(java.nio.ByteBuffer ping, java.nio.ByteBuffer pong)Description copied from interface:WebSocketHandlerCreates the pong for the "keep-alive", heart beat, network status probing when connecting in a web socket.- Specified by:
createPongin interfaceWebSocketHandler- Parameters:
ping- The source buffer to read from.pong- The destination buffer with the pong.- See Also:
- Ping and pong
-
validateUpgradeReply
public java.lang.Boolean validateUpgradeReply(java.nio.ByteBuffer buffer)
Description copied from interface:WebSocketHandlerValidates the response.- Specified by:
validateUpgradeReplyin interfaceWebSocketHandler- Parameters:
buffer- ByteBuffer to read from.- Returns:
- True if the response is valid, otherwise, false.
-
wrapBuffer
public void wrapBuffer(java.nio.ByteBuffer srcBuffer, java.nio.ByteBuffer dstBuffer)Description copied from interface:WebSocketHandlerWraps the source buffer with additional contents from the web socket.- Specified by:
wrapBufferin interfaceWebSocketHandler- Parameters:
srcBuffer- Source buffer to wrap input.dstBuffer- Output buffer that bytes are written to.
-
unwrapBuffer
public WebSocketHandler.WebsocketTuple unwrapBuffer(java.nio.ByteBuffer srcBuffer)
Description copied from interface:WebSocketHandlerUnwraps the layer from the buffer.- Specified by:
unwrapBufferin interfaceWebSocketHandler- Parameters:
srcBuffer- The source buffer.- Returns:
- The current chunk for the web socket when reading.
-
createWebSocketUpgrade
protected WebSocketUpgrade createWebSocketUpgrade(java.lang.String hostName, java.lang.String webSocketPath, java.lang.String webSocketQuery, int webSocketPort, java.lang.String webSocketProtocol, java.util.Map<java.lang.String,java.lang.String> additionalHeaders)
-
createRandomMaskingKey
protected byte[] createRandomMaskingKey()
-
calculateHeaderSize
public int calculateHeaderSize(int payloadSize)
Description copied from interface:WebSocketHandlerGets the size of the header.- Specified by:
calculateHeaderSizein interfaceWebSocketHandler- Parameters:
payloadSize- Size of the payload.- Returns:
- The size of the header.
-
-