public WebSocketSession
Represents a web socket session between two peers
| Modifier and Type | Interface and Description |
|---|---|
static class |
WebSocketSession.DefaultImpls
Represents a web socket session between two peers
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
close(java.lang.Throwable cause,
kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Close session with the specified cause or with no reason if
null |
java.lang.Object |
flush(kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Flush all outstanding messages and suspend until all earlier sent messages will be written. Could be called
at any time even after close. May return immediately if the connection is already terminated.
However it may also fail with an exception (or cancellation) at any point due to session failure.
Please note that
WebSocketSession.flush doesn't guarantee that frames were actually delivered. |
NonExistentClass |
getDispatcher()
Deprecated.
|
kotlinx.coroutines.channels.ReceiveChannel<io.ktor.http.cio.websocket.Frame> |
getIncoming()
Incoming frames channel
|
boolean |
getMasking()
Enable or disable masking output messages by a random xor mask.
Please note that changing this flag on the fly could be applied to the messages already sent (enqueued earlier)
as the sending pipeline works asynchronously
|
long |
getMaxFrameSize()
Specifies frame size limit. Connection will be closed if violated
|
kotlinx.coroutines.channels.SendChannel<io.ktor.http.cio.websocket.Frame> |
getOutgoing()
Outgoing frames channel. It could have limited capacity so sending too much frames may lead to suspension at
corresponding send invocations. It also may suspend if a peer doesn't read frames for some reason.
|
java.lang.Object |
send(Frame frame,
kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Enqueue frame, may suspend if outgoing queue is full. May throw an exception if outgoing channel is already
closed so it is impossible to transfer any message. Frames that were sent after close frame could be silently
ignored. Please note that close frame could be sent automatically in reply to a peer close frame unless it is
raw websocket session.
|
void |
setMasking(boolean p)
Enable or disable masking output messages by a random xor mask.
Please note that changing this flag on the fly could be applied to the messages already sent (enqueued earlier)
as the sending pipeline works asynchronously
|
void |
setMaxFrameSize(long p)
Specifies frame size limit. Connection will be closed if violated
|
void |
terminate()
Initiate connection termination immediately. Termination may complete asynchronously.
|
kotlinx.coroutines.channels.ReceiveChannel<io.ktor.http.cio.websocket.Frame> getIncoming()
Incoming frames channel
kotlinx.coroutines.channels.SendChannel<io.ktor.http.cio.websocket.Frame> getOutgoing()
Outgoing frames channel. It could have limited capacity so sending too much frames may lead to suspension at corresponding send invocations. It also may suspend if a peer doesn't read frames for some reason.
boolean getMasking()
Enable or disable masking output messages by a random xor mask. Please note that changing this flag on the fly could be applied to the messages already sent (enqueued earlier) as the sending pipeline works asynchronously
void setMasking(boolean p)
Enable or disable masking output messages by a random xor mask. Please note that changing this flag on the fly could be applied to the messages already sent (enqueued earlier) as the sending pipeline works asynchronously
long getMaxFrameSize()
Specifies frame size limit. Connection will be closed if violated
void setMaxFrameSize(long p)
Specifies frame size limit. Connection will be closed if violated
NonExistentClass getDispatcher()
Dispatcher to handle io operations
java.lang.Object flush(kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Flush all outstanding messages and suspend until all earlier sent messages will be written. Could be called
at any time even after close. May return immediately if the connection is already terminated.
However it may also fail with an exception (or cancellation) at any point due to session failure.
Please note that WebSocketSession.flush doesn't guarantee that frames were actually delivered.
WebSocketSession.flushjava.lang.Object send(Frame frame, kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Enqueue frame, may suspend if outgoing queue is full. May throw an exception if outgoing channel is already closed so it is impossible to transfer any message. Frames that were sent after close frame could be silently ignored. Please note that close frame could be sent automatically in reply to a peer close frame unless it is raw websocket session.
void terminate()
Initiate connection termination immediately. Termination may complete asynchronously.
java.lang.Object close(java.lang.Throwable cause,
kotlin.coroutines.experimental.Continuation<? super kotlin.Unit> p)
Close session with the specified cause or with no reason if null