Package org.openremote.manager.gateway
Class GatewayIOClient
java.lang.Object
org.openremote.agent.protocol.io.AbstractNettyIOClient<String,InetSocketAddress>
org.openremote.agent.protocol.websocket.WebsocketIOClient<String>
org.openremote.manager.gateway.GatewayIOClient
- All Implemented Interfaces:
org.openremote.agent.protocol.io.IOClient<String>,org.openremote.agent.protocol.io.NettyIOClient<String>
public class GatewayIOClient
extends org.openremote.agent.protocol.websocket.WebsocketIOClient<String>
This is a special version of
WebsocketIOClient that waits for a
GatewayCapabilitiesRequestEvent from the central manager before completing the
connected future; this means that synchronisation failures will be handled with exponential backoff. If no event
is received within TIMEOUT_MILLIS then it is assumed the connection is ready as we could be talking to
an old central manager that doesn't emit the event.-
Nested Class Summary
Nested classes/interfaces inherited from class org.openremote.agent.protocol.io.AbstractNettyIOClient
org.openremote.agent.protocol.io.AbstractNettyIOClient.ByteToMessageDecoder<T>, org.openremote.agent.protocol.io.AbstractNettyIOClient.MessageToByteEncoder<T>, org.openremote.agent.protocol.io.AbstractNettyIOClient.MessageToMessageDecoder<T> -
Field Summary
FieldsFields inherited from class org.openremote.agent.protocol.websocket.WebsocketIOClient
client, handler, handshakeFuture, headers, host, oAuthGrant, PING_MILLIS, PING_TIMEOUT_MILLIS, pingDisabled, pingFuture, port, sslCtx, uri, useSslFields inherited from class org.openremote.agent.protocol.io.AbstractNettyIOClient
bootstrap, channel, connectionStatus, connectionStatusConsumers, connectRetry, connectTimeout, encoderDecoderProvider, executorService, messageConsumers, RECONNECT_DELAY_INITIAL_MILLIS, RECONNECT_DELAY_MAX_MILLIS, scheduledExecutorService, workerGroup -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected CompletableFuture<Void> protected voidonMessageReceived(String message) protected VoidwaitForConnectFuture(Future<Void> connectFuture) Methods inherited from class org.openremote.agent.protocol.websocket.WebsocketIOClient
addEncodersDecoders, doDisconnect, getAuthHeader, getChannelClass, getClient, getClientUri, getSSLContext, getWorkerGroup, onHandshakeDoneMethods inherited from class org.openremote.agent.protocol.io.AbstractNettyIOClient
addConnectionStatusConsumer, addMessageConsumer, configureChannel, connect, disconnect, doConnect, doReconnect, getConnectionStatus, getConnectTimeoutMillis, initChannel, onConnectionStatusChanged, onDecodeException, onEncodeException, removeAllConnectionStatusConsumers, removeAllMessageConsumers, removeConnectionStatusConsumer, removeMessageConsumer, scheduleDoConnect, sendMessage, setConnectTimeoutMillis, setEncoderDecoderProvider, toCompletableFuture, toString
-
Field Details
-
TIMEOUT_MILLIS
protected static final int TIMEOUT_MILLIS- See Also:
-
syncFuture
-
-
Constructor Details
-
GatewayIOClient
-
-
Method Details
-
startChannel
- Overrides:
startChannelin classorg.openremote.agent.protocol.websocket.WebsocketIOClient<String>
-
waitForConnectFuture
- Overrides:
waitForConnectFuturein classorg.openremote.agent.protocol.io.AbstractNettyIOClient<String,InetSocketAddress> - Throws:
Exception
-
getFuture
-
onMessageReceived
- Overrides:
onMessageReceivedin classorg.openremote.agent.protocol.io.AbstractNettyIOClient<String,InetSocketAddress>
-