Package org.glassfish.tyrus.core
Class TyrusWebSocket
java.lang.Object
org.glassfish.tyrus.core.TyrusWebSocket
Tyrus representation of web socket connection.
Instance of this class represents one bi-directional websocket connection.
-
Constructor Summary
ConstructorsConstructorDescriptionTyrusWebSocket(ProtocolHandler protocolHandler, TyrusEndpointWrapper endpointWrapper) Create new instance, setProtocolHandlerand registerTyrusEndpointWrapper. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes thisTyrusWebSocket.voidCloses thisTyrusWebSocketusing the specified status code and reason.voidclose(CloseReason closeReason) Closes thisTyrusWebSocketusing theCloseReason.booleanConvenience method to determine if thisTyrusWebSocketinstance is connected.voidonClose(CloseFrame frame) This callback will be invoked when the remote endpoint sent a closing frame.voidonConnect(UpgradeRequest upgradeRequest, String subProtocol, List<Extension> extensions, String connectionId, DebugContext debugContext) This callback will be invoked when the opening handshake between both endpoints has been completed.voidonFragment(BinaryFrame frame, boolean last) This callback will be invoked when a fragmented binary message has been received.voidonFragment(TextFrame frame, boolean last) This callback will be invoked when a fragmented textual message has been received.voidonMessage(BinaryFrame frame) This callback will be invoked when a binary message has been received.voidThis callback will be invoked when a text message has been received.voidThis callback will be invoked when the remote endpoint has sent a ping frame.voidThis callback will be invoked when the remote endpoint has sent a pong frame.sendBinary(byte[] data) Deprecated.sendBinary(byte[] bytes, boolean last) Deprecated.sendBinary(byte[] bytes, boolean last, WriterInfo writerInfo) Sends a fragment of a complete message.sendBinary(byte[] bytes, int off, int len, boolean last) Deprecated.sendBinary(byte[] bytes, int off, int len, boolean last, WriterInfo writerInfo) Sends a fragment of a complete message.voidsendBinary(byte[] data, SendHandler handler) Deprecated.voidsendBinary(byte[] data, SendHandler handler, WriterInfo writerInfo) Send a binary frame to the remote endpoint.sendBinary(byte[] data, WriterInfo writerInfo) Send a binary frame to the remote endpoint.sendPing(byte[] data) Sends apingframe with the specified payload (if any).sendPong(byte[] data) Sends apingframe with the specified payload (if any).sendRawFrame(ByteBuffer data) Send a frame to the remote endpoint.Deprecated.Deprecated.sendText(String fragment, boolean last, WriterInfo writerInfo) Sends a fragment of a complete message.voidsendText(String data, SendHandler handler) Deprecated.voidsendText(String data, SendHandler handler, WriterInfo writerInfo) Send a text frame to the remote endpoint.sendText(String data, WriterInfo writerInfo) Send a text frame to the remote endpoint.voidsetWriteTimeout(long timeoutMs) Sets the timeout for the writing operation.
-
Constructor Details
-
TyrusWebSocket
Create new instance, setProtocolHandlerand registerTyrusEndpointWrapper.- Parameters:
protocolHandler- used for writing data (sending).endpointWrapper- notifies registered endpoints about incoming events.
-
-
Method Details
-
setWriteTimeout
public void setWriteTimeout(long timeoutMs) Sets the timeout for the writing operation.- Parameters:
timeoutMs- timeout in milliseconds.
-
isConnected
public boolean isConnected()Convenience method to determine if thisTyrusWebSocketinstance is connected.- Returns:
trueif theTyrusWebSocketis connected,falseotherwise.
-
onClose
This callback will be invoked when the remote endpoint sent a closing frame.The execution of this method is synchronized using
ProtocolHandlerinstance; see TYRUS-385. Prevents multiple invocations, especially from container/user code.- Parameters:
frame- the close frame from the remote endpoint.
-
onConnect
public void onConnect(UpgradeRequest upgradeRequest, String subProtocol, List<Extension> extensions, String connectionId, DebugContext debugContext) This callback will be invoked when the opening handshake between both endpoints has been completed.- Parameters:
upgradeRequest- request associated with this socket.subProtocol- negotiated subprotocol.extensions- negotiated extensions.connectionId- connection id.debugContext- debug context.
-
onFragment
This callback will be invoked when a fragmented binary message has been received.- Parameters:
frame- the binary data received from the remote endpoint.last- flag indicating whether or not the payload received is the final fragment of a message.
-
onFragment
This callback will be invoked when a fragmented textual message has been received.- Parameters:
frame- the text received from the remote endpoint.last- flag indicating whether or not the payload received is the final fragment of a message.
-
onMessage
This callback will be invoked when a binary message has been received.- Parameters:
frame- the binary data received from the remote endpoint.
-
onMessage
This callback will be invoked when a text message has been received.- Parameters:
frame- the text received from the remote endpoint.
-
onPing
This callback will be invoked when the remote endpoint has sent a ping frame.- Parameters:
frame- the ping frame from the remote endpoint.
-
onPong
This callback will be invoked when the remote endpoint has sent a pong frame.- Parameters:
frame- the pong frame from the remote endpoint.
-
close
public void close()Closes thisTyrusWebSocket. -
close
Closes thisTyrusWebSocketusing the specified status code and reason.- Parameters:
code- the closing status code.reason- the reason, if any.
-
close
Closes thisTyrusWebSocketusing theCloseReason.- Parameters:
closeReason- the close reason.
-
sendBinary
Deprecated.Send a binary frame to the remote endpoint.- Parameters:
data- data to be sent.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
Send a binary frame to the remote endpoint.- Parameters:
data- data to be sent.writerInfo- information about the outbound message.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
Deprecated.Send a binary frame to the remote endpoint.- Parameters:
data- data to be sent.handler-SendHandler.onResult(jakarta.websocket.SendResult)will be called when sending is complete.
-
sendBinary
Send a binary frame to the remote endpoint.- Parameters:
data- data to be sent.handler-SendHandler.onResult(jakarta.websocket.SendResult)will be called when sending is complete.writerInfo- information about the outbound message.
-
sendText
Deprecated.Send a text frame to the remote endpoint.- Parameters:
data- data to be sent.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendText
Send a text frame to the remote endpoint.- Parameters:
data- data to be sent.writerInfo- information about the outbound message.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendText
Deprecated.Send a text frame to the remote endpoint.- Parameters:
data- data to be sent.handler-SendHandler.onResult(jakarta.websocket.SendResult)will be called when sending is complete.
-
sendText
Send a text frame to the remote endpoint.- Parameters:
data- data to be sent.handler-SendHandler.onResult(jakarta.websocket.SendResult)will be called when sending is complete.writerInfo- information about the outbound message.
-
sendRawFrame
Send a frame to the remote endpoint.- Parameters:
data- complete data frame.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendPing
Sends apingframe with the specified payload (if any).- Parameters:
data- optional payload. Note that payload length is restricted to 125 bytes or less.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendPong
Sends apingframe with the specified payload (if any).It may seem odd to send a pong frame, however, RFC-6455 states: "A Pong frame MAY be sent unsolicited. This serves as a unidirectional heartbeat. A response to an unsolicited Pong frame is not expected."
- Parameters:
data- optional payload. Note that payload length is restricted to 125 bytes or less.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendText
Deprecated.Sends a fragment of a complete message.- Parameters:
fragment- the textual fragment to send.last- boolean indicating if this message fragment is the last.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendText
Sends a fragment of a complete message.- Parameters:
fragment- the textual fragment to send.last- boolean indicating if this message fragment is the last.writerInfo- information about the outbound message.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
Deprecated.Sends a fragment of a complete message.- Parameters:
bytes- the binary fragment to send.last- boolean indicating if this message fragment is the last.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
Sends a fragment of a complete message.- Parameters:
bytes- the binary fragment to send.last- boolean indicating if this message fragment is the last.writerInfo- information about the outbound message.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
Deprecated.Sends a fragment of a complete message.- Parameters:
bytes- the binary fragment to send.off- the offset within the fragment to send.len- the number of bytes of the fragment to send.last- boolean indicating if this message fragment is the last.- Returns:
Futurewhich could be used to control/check the sending completion state.
-
sendBinary
public Future<Frame> sendBinary(byte[] bytes, int off, int len, boolean last, WriterInfo writerInfo) Sends a fragment of a complete message.- Parameters:
bytes- the binary fragment to send.off- the offset within the fragment to send.len- the number of bytes of the fragment to send.last- boolean indicating if this message fragment is the last.writerInfo- information about the outbound message.- Returns:
Futurewhich could be used to control/check the sending completion state.
-