Class DndSession

java.lang.Object
io.deephaven.enterprise.dnd.client.DndSession
Direct Known Subclasses:
DndSessionBarrage

public class DndSession extends Object
A basic gRPC connection to a DnD worker. This class handles connection and authentication, more specific implementations will decorate with richer behavior, such as DndSessionBarrage and DndSessionFlight.
  • Field Details

    • channel

      protected final io.grpc.ManagedChannel channel
    • sessionImpl

      protected final SessionImpl sessionImpl
    • allocator

      protected final org.apache.arrow.memory.RootAllocator allocator
  • Method Details

    • getInfo

      public io.deephaven.proto.controller.PersistentQueryInfoMessage getInfo()
      Get the query info for the connected Persistent Query
      Returns:
      the PersistentQueryInfoMessage
    • executeCode

      public void executeCode(@NotNull @NotNull String code) throws ExecutionException, InterruptedException, TimeoutException
      Execute the specified code on the server.
      Parameters:
      code - the code to execute
      Throws:
      ExecutionException
      InterruptedException
      TimeoutException
    • close

      @OverridingMethodsMustInvokeSuper public void close() throws IOException
      Close and release the underlying session and channel for this session. If requested, also delete the Persistent Query
      Throws:
      IOException
    • historicalTable

      @NotNull public static @NotNull TableSpec historicalTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName)
      Create a TableSpec based on a historical table from the server.
      Parameters:
      namespace - the namespace of the table
      tableName - the name of the table
      Returns:
      a new TableSpec
    • liveTable

      @NotNull public static @NotNull TableSpec liveTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName)
      Create a TableSpec based on a live table from the server.
      Parameters:
      namespace - the namespace of the table
      tableName - the name of the table
      Returns:
      a new TableSpec
    • scopeTable

      @NotNull public static @NotNull TableSpec scopeTable(@NotNull @NotNull String tableName)
      Create a TableSpec based on a table from the server query scope.
      Parameters:
      tableName - the name of the table
      Returns:
      a new TableSpec
    • catalogTable

      @NotNull public static @NotNull TableSpec catalogTable()
      Create a TableSpec based on the catalog table from the server.
      Returns:
      a new TableSpec
    • session

      public SessionImpl session()
      Get the underlying SessionImpl
      Returns:
      the SessionImpl
    • allocator

      public org.apache.arrow.memory.BufferAllocator allocator()
      Get the underlying RootAllocator
      Returns:
      the RootAllocator
    • channel

      public io.grpc.ManagedChannel channel()
      Get the underlying ManagedChannel
      Returns:
      the ManagedChannel