Class RemoteTableDataService
java.lang.Object
com.illumon.iris.db.v2.tabledataservice.AbstractTableDataService
com.illumon.iris.db.v2.locations.remote.RemoteTableDataService
- All Implemented Interfaces:
TableDataService
Remote
TableDataService
implementation.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
TableLocationProvider implementation that delegates to appropriate Requests.Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
TableDataService.Null
-
Constructor Summary
ConstructorsConstructorDescriptionRemoteTableDataService
(com.fishlib.io.sched.Scheduler scheduler, com.fishlib.io.logger.Logger log, String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush) 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.protected TableLocationProvider
makeTableLocationProvider
(TableKey tableKey) void
shutdown()
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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
getTableLocationProvider
-
Constructor Details
-
RemoteTableDataService
public RemoteTableDataService(@NotNull com.fishlib.io.sched.Scheduler scheduler, @NotNull com.fishlib.io.logger.Logger log, @NotNull String name, long requestTimeoutMillis, boolean supportsSubscriptions, boolean allowIOMessageFlush) 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 buffers
-
-
Method Details
-
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() -
makeTableLocationProvider
- Specified by:
makeTableLocationProvider
in classAbstractTableDataService
-
toString
-
describe
Description copied from interface:TableDataService
Like toString, but with more detail.- Returns:
- a description string
-