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 TypeClassDescriptionclassTableLocationProvider 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 TypeMethodDescriptionvoidAuthenticate 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 TableLocationProvidermakeTableLocationProvider(TableKey tableKey) voidshutdown()toString()Methods inherited from class com.illumon.iris.db.v2.tabledataservice.AbstractTableDataService
getKnownLocationProviders, getName, getTableLocationProvider, reset, resetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.util.type.NamedImplementation
getImplementationNameMethods 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:TableDataServiceAuthenticate 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:
makeTableLocationProviderin classAbstractTableDataService
-
toString
- Overrides:
toStringin classAbstractTableDataService
-
describe
Description copied from interface:TableDataServiceLike toString, but with more detail.- Returns:
- a description string
-