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 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.util.type.NamedImplementation
getImplementationName
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
- Overrides:
toString
in classAbstractTableDataService
-
describe
Description copied from interface:TableDataService
Like toString, but with more detail.- Returns:
- a description string
-