|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface RemoteEndpoint
The RemoteEndpoint object is supplied by the container and represents the 'other end' of the Web Socket conversation. In particular, objects of this kind include numerous ways to send web socket messages. There is no guarantee of the success of receipt of a web socket message, but if the action of sending a message causes a known error, the API throws it. This object includes a variety of ways to send messages to the other end of a web socket session: by whole message, in parts and asynchronously, where the point of completion is defined when all the supplied data had been written to the underlying connection. The completion handlers for the asynchronous methods are always called with a different thread from that which initiated the send. Note: Implementations may choose their own schemes for sending large messages in smaller parts. These schemes may or may not bear a relationship to the underlying websocket dataframes in which the message is ultimately sent on the wire. If the underlying connection is closed and methods on the RemoteEndpoint are attempted to be called, they will result in an error being generated. For the methods that send messages, this will be an IOException, for the methods that alter configuration of the endpoint, this will be runtime IllegalArgumentExceptions.
Method Summary | |
---|---|
void |
flushBatch()
This method is only used when batching is allowed for this RemoteEndpint. |
long |
getAsyncSendTimeout()
Return the number of milliseconds the implementation will timeout attempting to send a websocket message. |
boolean |
getBatchingAllowed()
Return whether the implementation is allowed to batch outgoing messages before sending. |
OutputStream |
getSendStream()
Opens an output stream on which a binary message may be sent. |
Writer |
getSendWriter()
Opens an character stream on which a text message may be sent. |
void |
sendBytes(ByteBuffer data)
Send a binary message, returning when all of the message has been transmitted. |
void |
sendBytesByCompletion(ByteBuffer data,
SendHandler completion)
Initiates the asynchronous transmission of a binary message. |
Future<SendResult> |
sendBytesByFuture(ByteBuffer data)
Initiates the asynchronous transmission of a binary message. |
void |
sendObject(Object o)
Sends a custom developer object, blocking until it has been transmitted. |
void |
sendObjectByCompletion(Object o,
SendHandler handler)
Initiates the asynchronous transmission of a custom developer object. |
Future<SendResult> |
sendObjectByFuture(Object o)
Initiates the asynchronous transmission of a custom developer object. |
void |
sendPartialBytes(ByteBuffer partialByte,
boolean isLast)
Send a binary message in parts, blocking until all of the message has been transmitted. |
void |
sendPartialString(String partialMessage,
boolean isLast)
Send a text message in parts, blocking until all of the message has been transmitted. |
void |
sendPing(ByteBuffer applicationData)
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. |
void |
sendString(String text)
Send a text message, blocking until all of the message has been transmitted. |
void |
sendStringByCompletion(String text,
SendHandler completion)
Initiates the asynchronous transmission of a text message. |
Future<SendResult> |
sendStringByFuture(String text)
Initiates the asynchronous transmission of a text message. |
void |
setAsyncSendTimeout(long timeoutmillis)
Sets the number of milliseconds the implementation will timeout attempting to send a websocket message. |
void |
setBatchingAllowed(boolean allowed)
Indicate to the implementation that it is allowed to batch outgoing messages before sending. |
Method Detail |
---|
void setBatchingAllowed(boolean allowed)
allowed
- whether the implementation is allowed to batch messages.boolean getBatchingAllowed()
setBatchingAllowed
.
void flushBatch() throws IOException
IOException
long getAsyncSendTimeout()
void setAsyncSendTimeout(long timeoutmillis)
timeoutmillis
- The number of milliseconds this RemoteEndpoint will wait before timing out
an incomplete asynchronous message send.void sendString(String text) throws IOException
text
- the message to be sent.
IOException
- if there is a problem delivering the message.void sendBytes(ByteBuffer data) throws IOException
data
- the message to be sent.
IOException
- if there is a problem delivering the message.void sendPartialString(String partialMessage, boolean isLast) throws IOException
partialMessage
- the parts of the message being sent.isLast
- Whether the partial message being sent is the last part of the message.
IOException
- if there is a problem delivering the message fragment.void sendPartialBytes(ByteBuffer partialByte, boolean isLast) throws IOException
partialByte
- the part of the message being sent.isLast
- Whether the partial message being sent is the last part of the message.
IOException
- if there is a problem delivering the partial message.OutputStream getSendStream() throws IOException
IOException
- if there is a problem obtaining the OutputStream to write the binary message.Writer getSendWriter() throws IOException
IOException
- if there is a problem obtaining the Writer to write the text message.void sendObject(Object o) throws IOException, EncodeException
o
- the object to be sent.
IOException
- if there is a communication error sending the message object.
EncodeException
- if there was a problem encoding the message object into the form of a native websocket message.void sendStringByCompletion(String text, SendHandler completion)
text
- the text being sent.completion
- the handler which will be notified of progress.Future<SendResult> sendStringByFuture(String text)
text
- the text being sent.
Future<SendResult> sendBytesByFuture(ByteBuffer data)
data
- the data being sent.
void sendBytesByCompletion(ByteBuffer data, SendHandler completion)
data
- the data being sent.completion
- the handler that will be notified of progress.Future<SendResult> sendObjectByFuture(Object o)
o
- the object being sent.
void sendObjectByCompletion(Object o, SendHandler handler)
o
- the object being sent.handler
- the handler that will be notified of progress.void sendPing(ByteBuffer applicationData) throws IOException, IllegalArgumentException
applicationData
- the data to be carried in the ping request.
IOException
- if the ping failed to be sent
IllegalArgumentException
- if the applicationData exceeds the maximum allowed payload of 125 bytesvoid sendPong(ByteBuffer applicationData) throws IOException, IllegalArgumentException
applicationData
- the application data to be carried in the pong response.
IOException
- if the pong failed to be sent
IllegalArgumentException
- if the applicationData exceeds the maximum allowed payload of 125 bytes
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |