Class RemoteTableDataService
java.lang.Object
com.illumon.iris.db.v2.tabledataservice.AbstractTableDataService
com.illumon.iris.db.v2.locations.remote.RemoteTableDataService
- All Implemented Interfaces:
TableDataService
,NamedImplementation
Remote
TableDataService
implementation.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
ConnectInfo is a class that holds the information required to connect to a remote server.class
TableLocationProvider implementation that delegates to appropriate Requests.Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
TableDataService.Null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final boolean
protected final String
protected final long
protected final boolean
-
Constructor Summary
ConstructorsConstructorDescriptionRemoteTableDataService
(io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, com.fishlib.io.logger.Logger log, String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush) Deprecated.RemoteTableDataService
(io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, com.fishlib.io.logger.Logger log, String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush, RemoteTableDataService.ConnectInfo connectInfo) Construct a new remote table data service, ready to be connected. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Authenticate the TableDataService usingAuthenticationClientManager.getDefault()
connect
(com.fishlib.base.Function.Nullary<SocketAddress> addressFunction) Connect to a remote server by address function, allowing fallback to different server addresses.Connect to a remote server.connect
(InetSocketAddress address) Connect to a remote server.describe()
Like toString, but with more detail.boolean
getKey()
Return a key object that identifies this TableDataService instance, and does not hold resources.int
hashCode()
protected TableLocationProvider
makeTableLocationProvider
(TableKey tableKey) void
shutdown()
Stop any processes and release resources held by this TableDataService instance.toString()
Methods inherited from class com.illumon.iris.db.v2.tabledataservice.AbstractTableDataService
getKnownLocationProviders, getName, getTableLocationProvider, reset, reset
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.util.type.NamedImplementation
getImplementationName
Methods inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
getTableLocationProvider
-
Field Details
-
logPrefix
-
requestTimeoutMillis
protected final long requestTimeoutMillis -
supportsSubscriptions
protected final boolean supportsSubscriptions -
allowIOMessageFlush
protected final boolean allowIOMessageFlush
-
-
Constructor Details
-
RemoteTableDataService
public RemoteTableDataService(@NotNull io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, @NotNull com.fishlib.io.logger.Logger log, @NotNull String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush, @NotNull RemoteTableDataService.ConnectInfo connectInfo) Construct a new remote table data service, ready to be connected.- Parameters:
scheduler
- Job schedulerlog
- Logger for outputname
- Remote service namerequestTimeoutMillis
- The timeout value to use for all requestssupportsSubscriptions
- Whether the service underlying the TableDataServiceExporter we connect to supports subscriptionsallowIOMessageFlush
- allow synchronous flush of message buffersconnectInfo
- the information that will be used to connect to the remote server
-
RemoteTableDataService
@Deprecated public RemoteTableDataService(@NotNull io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, @NotNull com.fishlib.io.logger.Logger log, @NotNull String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush) Deprecated.UseRemoteTableDataService(Scheduler, Logger, String, long, boolean, boolean, ConnectInfo)
instead, withnew ConnectInfo.NULL()
as the last argument if necessary.
Construct a new remote table data service, ready to be connected. This constructor does not include ConnectInfo, so cannot be used where the TableDataService is tracked.- Parameters:
scheduler
- Job schedulerlog
- Logger for outputname
- Remote service namerequestTimeoutMillis
- The timeout value to use for all requestssupportsSubscriptions
- Whether the service underlying the TableDataServiceExporter we connect to supports subscriptionsallowIOMessageFlush
- allow synchronous flush of message buffers
-
-
Method Details
-
getKey
Description copied from interface:TableDataService
Return a key object that identifies this TableDataService instance, and does not hold resources.- Specified by:
getKey
in interfaceTableDataService
- Overrides:
getKey
in classAbstractTableDataService
- Returns:
- a TableDataServiceKey for this TableDataService
-
authenticate
public void authenticate()Description copied from interface:TableDataService
Authenticate the TableDataService usingAuthenticationClientManager.getDefault()
-
connect
Connect to a remote server.- Parameters:
address
- The host/port to connect to- Returns:
- this
- Throws:
IOException
-
connect
Connect to a remote server.- Parameters:
host
- The host to connect toport
- The port to connect to- Returns:
- this
- Throws:
IOException
-
connect
public RemoteTableDataService connect(@NotNull com.fishlib.base.Function.Nullary<SocketAddress> addressFunction) throws IOException Connect to a remote server by address function, allowing fallback to different server addresses.- Parameters:
addressFunction
- The address function to determine each connection attempt's host and port- Returns:
- this
- Throws:
IOException
-
shutdown
public void shutdown()Description copied from interface:TableDataService
Stop any processes and release resources held by this TableDataService instance. -
makeTableLocationProvider
- Specified by:
makeTableLocationProvider
in classAbstractTableDataService
-
toString
- Overrides:
toString
in classAbstractTableDataService
-
describe
Description copied from interface:TableDataService
Like toString, but with more detail.- Returns:
- a description string
-
equals
-
hashCode
public int hashCode()
-
RemoteTableDataService(Scheduler, Logger, String, long, boolean, boolean, ConnectInfo)
instead, withnew ConnectInfo.NULL()
as the last argument if necessary.