Class TableDataProtocolDriverImpl
java.lang.Object
com.illumon.iris.db.v2.locations.protocol.TableDataProtocolDriverImpl
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable,TableDataProtocolDriver,NamedImplementation
public class TableDataProtocolDriverImpl
extends Object
implements TableDataProtocolDriver, NamedImplementation, com.fishlib.base.log.LogOutputAppendable
Remote
TableDataService implementation.-
Constructor Summary
ConstructorsConstructorDescriptionTableDataProtocolDriverImpl(io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, com.fishlib.io.logger.Logger log, String name, long requestTimeoutMillis, boolean allowIOMessageFlush) Construct a new remote table data service, ready to be connected. -
Method Summary
Modifier and TypeMethodDescriptioncom.fishlib.base.log.LogOutputappend(com.fishlib.base.log.LogOutput logOutput) voidAuthenticates with the remote server.voidConnect to a remote server.voidconnect(InetSocketAddress address) Connect to a remote server.voidconnect(Supplier<SocketAddress> addressSupplier) Connect to a remote server by address supplier, allowing fallback to different server addresses.connectLocalServer(String name) Returns the log prefix used for logging messages from this driver.removePendingRequest(long requestKey) Removes and returns a pending request by its key.voidshutdown()Shuts down the protocol driver and releases any resources.Takes an available free request from the pool or allocates a new one if none are available.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.util.type.NamedImplementation
getImplementationName
-
Constructor Details
-
TableDataProtocolDriverImpl
public TableDataProtocolDriverImpl(@NotNull io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, @NotNull com.fishlib.io.logger.Logger log, @NotNull String name, long requestTimeoutMillis, 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 requestsallowIOMessageFlush- allow synchronous flush of message buffers
-
-
Method Details
-
authenticate
public void authenticate()Description copied from interface:TableDataProtocolDriverAuthenticates with the remote server.- Specified by:
authenticatein interfaceTableDataProtocolDriver
-
connect
Description copied from interface:TableDataProtocolDriverConnect to a remote server.- Specified by:
connectin interfaceTableDataProtocolDriver- Parameters:
address- The host/port to connect to- Throws:
IOException- if an I/O error occurs during connection
-
connect
Description copied from interface:TableDataProtocolDriverConnect to a remote server.- Specified by:
connectin interfaceTableDataProtocolDriver- Parameters:
host- The host to connect toport- The port to connect to- Throws:
IOException- if an I/O error occurs during connection
-
connect
Description copied from interface:TableDataProtocolDriverConnect to a remote server by address supplier, allowing fallback to different server addresses.- Specified by:
connectin interfaceTableDataProtocolDriver- Parameters:
addressSupplier- The address supplier to determine each connection attempt's host and port- Throws:
IOException- if an I/O error occurs during connection
-
connectLocalServer
-
shutdown
public void shutdown()Description copied from interface:TableDataProtocolDriverShuts down the protocol driver and releases any resources.- Specified by:
shutdownin interfaceTableDataProtocolDriver
-
removePendingRequest
Description copied from interface:TableDataProtocolDriverRemoves and returns a pending request by its key.- Specified by:
removePendingRequestin interfaceTableDataProtocolDriver- Parameters:
requestKey- the unique key identifying the request- Returns:
- the removed request, or null if no request exists for the given key
-
takeOrAllocateFreeRequest
Description copied from interface:TableDataProtocolDriverTakes an available free request from the pool or allocates a new one if none are available.- Specified by:
takeOrAllocateFreeRequestin interfaceTableDataProtocolDriver- Returns:
- a table data request ready for use
-
getLogPrefix
Description copied from interface:TableDataProtocolDriverReturns the log prefix used for logging messages from this driver.- Specified by:
getLogPrefixin interfaceTableDataProtocolDriver- Returns:
- the log prefix string
-
toString
-
append
public com.fishlib.base.log.LogOutput append(com.fishlib.base.log.LogOutput logOutput) - Specified by:
appendin interfacecom.fishlib.base.log.LogOutputAppendable
-