Package org.yamcs.client.base
Class WebSocketClient
java.lang.Object
org.yamcs.client.base.WebSocketClient
Netty-implementation of a Yamcs web socket client.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T extends com.google.protobuf.Message>
Observer<T>call
(String type, DataObserver<? extends com.google.protobuf.Message> observer) Initiates a new call.void
cancelCall
(int callId) io.netty.channel.ChannelFuture
void
void
enableTcpKeepAlive
(boolean enableTcpKeepAlive) Enable/disable the TCP Keep-Alive on websocket sockets.int
void
handleMessage
(ServerMessage message) boolean
boolean
Returns true if the TCP connection is opened (even before the websocket handshake has been established FIXME)boolean
void
setAllowCompression
(boolean allowCompression) void
setCaCertFile
(String caCertFile) In case of https connections, this file contains the CA certificates that are used to verify server certificatevoid
setConnectionTimeoutMs
(int timeoutMs) void
setInsecureTls
(boolean insecureTls) if true and https connections are used, do not verify server certificatevoid
setMaxFramePayloadLength
(int maxFramePayloadLength) void
setMessageLogging
(Level level) Enables logging of all inbound and outbound messages on the request logging level.void
setUserAgent
(String userAgent) io.netty.util.concurrent.Future<?>
shutdown()
-
Constructor Details
-
WebSocketClient
-
-
Method Details
-
setUserAgent
-
setConnectionTimeoutMs
public void setConnectionTimeoutMs(int timeoutMs) -
isAllowCompression
public boolean isAllowCompression() -
setAllowCompression
public void setAllowCompression(boolean allowCompression) -
setMessageLogging
Enables logging of all inbound and outbound messages on the request logging level.By default set to
Level.FINEST
-
connect
public io.netty.channel.ChannelFuture connect(String authorization) throws SSLException, GeneralSecurityException - Throws:
SSLException
GeneralSecurityException
-
call
public <T extends com.google.protobuf.Message> Observer<T> call(String type, DataObserver<? extends com.google.protobuf.Message> observer) Initiates a new call. This does not yet communicate to Yamcs. Use the returned observer to send one or more messages. -
cancelCall
- Throws:
IOException
-
disconnect
public void disconnect() -
enableTcpKeepAlive
public void enableTcpKeepAlive(boolean enableTcpKeepAlive) Enable/disable the TCP Keep-Alive on websocket sockets. By default it is disabled. It has to be enabled before the connection is established.- Parameters:
enableTcpKeepAlive
- if true the TCP SO_KEEPALIVE option is set
-
shutdown
public io.netty.util.concurrent.Future<?> shutdown()- Returns:
- the Future which is notified when the executor has been terminated.
-
isConnected
public boolean isConnected()Returns true if the TCP connection is opened (even before the websocket handshake has been established FIXME) -
setCaCertFile
In case of https connections, this file contains the CA certificates that are used to verify server certificate- Parameters:
caCertFile
-- Throws:
IOException
GeneralSecurityException
-
isInsecureTls
public boolean isInsecureTls() -
setInsecureTls
public void setInsecureTls(boolean insecureTls) if true and https connections are used, do not verify server certificate- Parameters:
insecureTls
-
-
getMaxFramePayloadLength
public int getMaxFramePayloadLength() -
setMaxFramePayloadLength
public void setMaxFramePayloadLength(int maxFramePayloadLength) -
handleMessage
public void handleMessage(ServerMessage message) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-