public final class ProtocolHandler
extends java.lang.Object
Responsible for framing and unframing raw websocket frames. Tyrus creates exactly one instance per Session.
Modifier and Type | Field and Description |
---|---|
static int |
MASK_SIZE
RFC 6455
|
Modifier and Type | Method and Description |
---|---|
java.util.concurrent.Future<Frame> |
close(int code,
java.lang.String reason) |
Handshake |
handshake(TyrusEndpointWrapper endpointWrapper,
UpgradeRequest request,
UpgradeResponse response,
ExtendedExtension.ExtensionContext extensionContext)
Server side handshake processing.
|
boolean |
hasExtensions()
Returns true when current connection has some negotiated extension.
|
void |
process(Frame frame,
TyrusWebSocket socket)
TODO.
|
java.util.concurrent.Future<Frame> |
send(byte[] data)
Deprecated.
|
void |
send(byte[] data,
SendHandler handler)
Deprecated.
|
void |
send(byte[] data,
SendHandler handler,
WriterInfo writerInfo) |
java.util.concurrent.Future<Frame> |
send(byte[] data,
WriterInfo writerInfo) |
java.util.concurrent.Future<Frame> |
send(java.lang.String data)
Deprecated.
|
void |
send(java.lang.String data,
SendHandler handler)
Deprecated.
|
void |
send(java.lang.String data,
SendHandler handler,
WriterInfo writerInfo) |
java.util.concurrent.Future<Frame> |
send(java.lang.String data,
WriterInfo writerInfo) |
java.util.concurrent.Future<Frame> |
sendRawFrame(java.nio.ByteBuffer data)
Raw frame is always whole (not partial).
|
void |
setExtensionContext(ExtendedExtension.ExtensionContext extensionContext)
Client side.
|
void |
setExtensions(java.util.List<Extension> extensions)
Client side.
|
void |
setMessageEventListener(MessageEventListener messageEventListener)
Set message event listener.
|
void |
setWebSocket(TyrusWebSocket webSocket)
Client side.
|
void |
setWriter(Writer writer)
Set
Writer instance. |
java.util.concurrent.Future<Frame> |
stream(boolean last,
byte[] bytes,
int off,
int len)
Deprecated.
|
java.util.concurrent.Future<Frame> |
stream(boolean last,
byte[] bytes,
int off,
int len,
WriterInfo writerInfo) |
java.util.concurrent.Future<Frame> |
stream(boolean last,
java.lang.String fragment)
Deprecated.
|
java.util.concurrent.Future<Frame> |
stream(boolean last,
java.lang.String fragment,
WriterInfo writerInfo) |
Frame |
unframe(java.nio.ByteBuffer buffer)
TODO!
|
public static final int MASK_SIZE
public void setWriter(Writer writer)
Writer
instance.
The set instance is used for "sending" all outgoing WebSocket frames.
writer
- Writer
to be set.public boolean hasExtensions()
true
if there is at least one negotiated extension associated to this connection, false
otherwise.public Handshake handshake(TyrusEndpointWrapper endpointWrapper, UpgradeRequest request, UpgradeResponse response, ExtendedExtension.ExtensionContext extensionContext) throws HandshakeException
endpointWrapper
- endpoint related to the handshake (path is already matched).request
- handshake request.response
- handshake response.extensionContext
- extension context.HandshakeException
- when there is problem with received UpgradeRequest
.public void setExtensions(java.util.List<Extension> extensions)
extensions
- list of negotiated extensions. Can be null
.public void setWebSocket(TyrusWebSocket webSocket)
webSocket
- client WebSocket connection.public void setExtensionContext(ExtendedExtension.ExtensionContext extensionContext)
extensionContext
- extension context.public void setMessageEventListener(MessageEventListener messageEventListener)
messageEventListener
- message event listener.@Deprecated public java.util.concurrent.Future<Frame> send(byte[] data)
public java.util.concurrent.Future<Frame> send(byte[] data, WriterInfo writerInfo)
@Deprecated public void send(byte[] data, SendHandler handler)
public void send(byte[] data, SendHandler handler, WriterInfo writerInfo)
@Deprecated public java.util.concurrent.Future<Frame> send(java.lang.String data)
public java.util.concurrent.Future<Frame> send(java.lang.String data, WriterInfo writerInfo)
@Deprecated public void send(java.lang.String data, SendHandler handler)
public void send(java.lang.String data, SendHandler handler, WriterInfo writerInfo)
public java.util.concurrent.Future<Frame> sendRawFrame(java.nio.ByteBuffer data)
data
- serialized frame.@Deprecated public java.util.concurrent.Future<Frame> stream(boolean last, byte[] bytes, int off, int len)
public java.util.concurrent.Future<Frame> stream(boolean last, byte[] bytes, int off, int len, WriterInfo writerInfo)
@Deprecated public java.util.concurrent.Future<Frame> stream(boolean last, java.lang.String fragment)
public java.util.concurrent.Future<Frame> stream(boolean last, java.lang.String fragment, WriterInfo writerInfo)
public java.util.concurrent.Future<Frame> close(int code, java.lang.String reason)
public Frame unframe(java.nio.ByteBuffer buffer)
buffer
- TODO.public void process(Frame frame, TyrusWebSocket socket)
called after Extension execution.
validates frame + processes its content
frame
- TODO.socket
- TODO.Copyright © 2012–2020 Oracle Corporation. All rights reserved.