Class ClientPoolImpl<C,E extends Exception>

java.lang.Object
com.lancedb.lance.namespace.util.ClientPoolImpl<C,E>
All Implemented Interfaces:
ClientPool<C,E>, Closeable, AutoCloseable

public abstract class ClientPoolImpl<C,E extends Exception> extends Object implements Closeable, ClientPool<C,E>
  • Constructor Details

    • ClientPoolImpl

      public ClientPoolImpl(int poolSize, Class<? extends E> reconnectExc, boolean retryByDefault)
    • ClientPoolImpl

      public ClientPoolImpl(int poolSize, Class<? extends E> reconnectExc, boolean retryByDefault, int maxConnectionRetries)
  • Method Details

    • run

      public <R> R run(ClientPool.Action<R,C,E> action) throws E, InterruptedException
    • run

      public <R> R run(ClientPool.Action<R,C,E> action, boolean retry) throws E, InterruptedException
    • newClient

      protected abstract C newClient()
    • reconnect

      protected abstract C reconnect(C client)
    • isConnectionException

      protected boolean isConnectionException(Exception exc)
    • close

      protected abstract void close(C client)
    • close

      public void close()
    • poolSize

      public int poolSize()
    • isClosed

      public boolean isClosed()