Class JettyWebSocketRemoteEndpoint
java.lang.Object
org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint
- All Implemented Interfaces:
RemoteEndpoint
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
flush()
Flushes messages that may have been batched by the implementation.int
Get the maximum number of data frames allowed to be waiting to be sent at any one time.Get the SocketAddress for the established connection.void
sendBytes
(ByteBuffer data) Send a binary message, returning when all bytes of the message has been transmitted.void
sendBytes
(ByteBuffer data, WriteCallback callback) Initiates the asynchronous transmission of a binary message.void
sendPartialBytes
(ByteBuffer fragment, boolean isLast) Send a binary message in pieces, blocking until all of the message has been transmitted.void
sendPartialBytes
(ByteBuffer fragment, boolean isLast, WriteCallback callback) Initiates the asynchronous transmission of a partial binary message.void
sendPartialString
(String fragment, boolean isLast) Send a text message in pieces, blocking until all of the message has been transmitted.void
sendPartialString
(String fragment, boolean isLast, WriteCallback callback) Initiates the asynchronous transmission of a partial text message.void
sendPing
(ByteBuffer applicationData) Send a Ping message containing the given application data to the remote endpoint, blocking until all of the message has been transmitted.void
sendPing
(ByteBuffer applicationData, WriteCallback callback) Asynchronously send a Ping message containing the given application data to the remote endpoint.void
sendPong
(ByteBuffer applicationData) Allows the developer to send an unsolicited Pong message containing the given application data in order to serve as a unidirectional heartbeat for the session, this will block until all of the message has been transmitted.void
sendPong
(ByteBuffer applicationData, WriteCallback callback) Allows the developer to asynchronously send an unsolicited Pong message containing the given application data in order to serve as a unidirectional heartbeat for the session.void
sendString
(String text) Send a text message, blocking until all bytes of the message has been transmitted.void
sendString
(String text, WriteCallback callback) Initiates the asynchronous transmission of a text message.void
setBatchMode
(BatchMode mode) Set the batch mode with which messages are sent.void
setMaxOutgoingFrames
(int maxOutgoingFrames) Set the maximum number of data frames allowed to be waiting to be sent at any one time.
-
Constructor Details
-
JettyWebSocketRemoteEndpoint
-
-
Method Details
-
sendString
Description copied from interface:RemoteEndpoint
Send a text message, blocking until all bytes of the message has been transmitted.Note: this is a blocking call
- Specified by:
sendString
in interfaceRemoteEndpoint
- Parameters:
text
- the message to be sent- Throws:
IOException
- if unable to send the text message
-
sendString
Description copied from interface:RemoteEndpoint
Initiates the asynchronous transmission of a text message. This method may return before the message is transmitted. Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.- Specified by:
sendString
in interfaceRemoteEndpoint
- Parameters:
text
- the text being sentcallback
- callback to notify of success or failure of the write operation
-
sendBytes
Description copied from interface:RemoteEndpoint
Send a binary message, returning when all bytes of the message has been transmitted.Note: this is a blocking call
- Specified by:
sendBytes
in interfaceRemoteEndpoint
- Parameters:
data
- the message to be sent- Throws:
IOException
- if unable to send the bytes
-
sendBytes
Description copied from interface:RemoteEndpoint
Initiates the asynchronous transmission of a binary message. This method returns before the message is transmitted. Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.- Specified by:
sendBytes
in interfaceRemoteEndpoint
- Parameters:
data
- the data being sentcallback
- callback to notify of success or failure of the write operation
-
sendPartialBytes
Description copied from interface:RemoteEndpoint
Send a binary message in pieces, blocking until all of the message has been transmitted. The runtime reads the message in order. Non-final pieces are sent with isLast set to false. The final piece must be sent with isLast set to true.- Specified by:
sendPartialBytes
in interfaceRemoteEndpoint
- Parameters:
fragment
- the piece of the message being sentisLast
- true if this is the last piece of the partial bytes- Throws:
IOException
- if unable to send the partial bytes
-
sendPartialBytes
Description copied from interface:RemoteEndpoint
Initiates the asynchronous transmission of a partial binary message. This method returns before the message is transmitted. The runtime reads the message in order. Non-final pieces are sent with isLast set to false. The final piece must be sent with isLast set to true. Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.- Specified by:
sendPartialBytes
in interfaceRemoteEndpoint
- Parameters:
fragment
- the data being sentisLast
- true if this is the last piece of the partial bytescallback
- callback to notify of success or failure of the write operation
-
sendPartialString
Description copied from interface:RemoteEndpoint
Send a text message in pieces, blocking until all of the message has been transmitted. The runtime reads the message in order. Non-final pieces are sent with isLast set to false. The final piece must be sent with isLast set to true.- Specified by:
sendPartialString
in interfaceRemoteEndpoint
- Parameters:
fragment
- the piece of the message being sentisLast
- true if this is the last piece of the partial bytes- Throws:
IOException
- if unable to send the partial bytes
-
sendPartialString
Description copied from interface:RemoteEndpoint
Initiates the asynchronous transmission of a partial text message. This method may return before the message is transmitted. The runtime reads the message in order. Non-final pieces are sent with isLast set to false. The final piece must be sent with isLast set to true. Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.- Specified by:
sendPartialString
in interfaceRemoteEndpoint
- Parameters:
fragment
- the text being sentisLast
- true if this is the last piece of the partial bytescallback
- callback to notify of success or failure of the write operation
-
sendPing
Description copied from interface:RemoteEndpoint
Send a Ping message containing the given application data to the remote endpoint, blocking until all of the message has been transmitted. The corresponding Pong message may be picked up using the MessageHandler.Pong handler.- Specified by:
sendPing
in interfaceRemoteEndpoint
- Parameters:
applicationData
- the data to be carried in the ping request- Throws:
IOException
- if unable to send the ping
-
sendPing
Description copied from interface:RemoteEndpoint
Asynchronously send a Ping message containing the given application data to the remote endpoint. The corresponding Pong message may be picked up using the MessageHandler.Pong handler.- Specified by:
sendPing
in interfaceRemoteEndpoint
- Parameters:
applicationData
- the data to be carried in the ping requestcallback
- callback to notify of success or failure of the write operation
-
sendPong
Description copied from interface:RemoteEndpoint
Allows the developer to send an unsolicited Pong message containing the given application data in order to serve as a unidirectional heartbeat for the session, this will block until all of the message has been transmitted.- Specified by:
sendPong
in interfaceRemoteEndpoint
- Parameters:
applicationData
- the application data to be carried in the pong response.- Throws:
IOException
- if unable to send the pong
-
sendPong
Description copied from interface:RemoteEndpoint
Allows the developer to asynchronously send an unsolicited Pong message containing the given application data in order to serve as a unidirectional heartbeat for the session.- Specified by:
sendPong
in interfaceRemoteEndpoint
- Parameters:
applicationData
- the application data to be carried in the pong response.callback
- callback to notify of success or failure of the write operation
-
getBatchMode
- Specified by:
getBatchMode
in interfaceRemoteEndpoint
- Returns:
- the batch mode with which messages are sent.
- See Also:
-
setBatchMode
Description copied from interface:RemoteEndpoint
Set the batch mode with which messages are sent.- Specified by:
setBatchMode
in interfaceRemoteEndpoint
- Parameters:
mode
- the batch mode to use- See Also:
-
getMaxOutgoingFrames
public int getMaxOutgoingFrames()Description copied from interface:RemoteEndpoint
Get the maximum number of data frames allowed to be waiting to be sent at any one time. The default value is -1, this indicates there is no limit on how many frames can be queued to be sent by the implementation. If the limit is exceeded, subsequent frames sent are failed with aWritePendingException
but the connection is not failed and will remain open.- Specified by:
getMaxOutgoingFrames
in interfaceRemoteEndpoint
- Returns:
- the max number of frames.
-
setMaxOutgoingFrames
public void setMaxOutgoingFrames(int maxOutgoingFrames) Description copied from interface:RemoteEndpoint
Set the maximum number of data frames allowed to be waiting to be sent at any one time. The default value is -1, this indicates there is no limit on how many frames can be queued to be sent by the implementation. If the limit is exceeded, subsequent frames sent are failed with aWritePendingException
but the connection is not failed and will remain open.- Specified by:
setMaxOutgoingFrames
in interfaceRemoteEndpoint
- Parameters:
maxOutgoingFrames
- the max number of frames.
-
getRemoteAddress
Description copied from interface:RemoteEndpoint
Get the SocketAddress for the established connection.- Specified by:
getRemoteAddress
in interfaceRemoteEndpoint
- Returns:
- the SocketAddress for the established connection.
-
flush
Description copied from interface:RemoteEndpoint
Flushes messages that may have been batched by the implementation.- Specified by:
flush
in interfaceRemoteEndpoint
- Throws:
IOException
- if the flush fails
-