Class TableDataServiceExporter

java.lang.Object
com.illumon.iris.db.v2.locations.server.TableDataServiceExporter

public class TableDataServiceExporter extends Object
Exports a TableDataService to RemoteTableDataService (clients) via the TableDataProtocol.
  • Constructor Details

    • TableDataServiceExporter

      public TableDataServiceExporter(@NotNull io.deephaven.enterprise.niowrapper.sched.Scheduler scheduler, @NotNull com.fishlib.io.logger.Logger log, @NotNull String name, @NotNull TableDataService tableDataService, boolean asyncColumnFileDataReads, @NotNull AuthenticationClientManager authenticationClientManager, @NotNull AuditEventLoggerBasicEx auditEventLoggerBasic, @NotNull TableDataProtocol.TableAccessChecker tableAccessChecker)
      Construct a new server that delegates to the supplied service.
      Parameters:
      scheduler - Job scheduler
      log - Logger for output
      name - Exporter name
      tableDataService - Service to export
      asyncColumnFileDataReads - Be careful with this - it may not always positively impact request latency!
      authenticationClientManager - an AuthenticationClientManager to be used for token verification
      auditEventLoggerBasic - a basic audit event logger
      tableAccessChecker - callback to evaluate whether the configured user has access to a given table
  • Method Details

    • accept

      public TableDataServiceExporter accept(int port) throws IOException
      Start accepting remote clients.
      Parameters:
      port - The port to bind to and listen on
      Returns:
      this
      Throws:
      IOException
    • getAcceptedPorts

      public List<Integer> getAcceptedPorts()
      Return all ports that have been attached via accept(int).
      Returns:
      a list of all accepted ports
    • getAcceptedPort

      public int getAcceptedPort()
      Return the single port that has been attached via accept(int). If more than one port has been accepted, then throw an IllegalStateException.
      Returns:
      the single port in use
    • acceptLocalClient

      public TableDataProtocol.LocalClient acceptLocalClient(@NotNull String name)
      Accept an in-process client.
      Parameters:
      name - The name to use for the client
      Returns:
      this
    • shutdown

      public void shutdown()