Class PoolEntry<T,​C extends ModalCloseable>

  • Type Parameters:
    T - the route type that represents the opposite endpoint of a pooled connection.
    C - the connection type.

    public final class PoolEntry<T,​C extends ModalCloseable>
    extends java.lang.Object
    Pool entry containing a pool connection object along with its route.

    The connection assigned to this pool entry may have an expiration time and also have an object representing a connection state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection).

    Since:
    4.2
    • Field Detail

      • route

        private final T route
      • timeToLive

        private final TimeValue timeToLive
      • connRef

        private final java.util.concurrent.atomic.AtomicReference<C extends ModalCloseable> connRef
      • currentTimeSupplier

        private final Supplier<java.lang.Long> currentTimeSupplier
      • state

        private volatile java.lang.Object state
      • created

        private volatile long created
      • updated

        private volatile long updated
      • expiryDeadline

        private volatile Deadline expiryDeadline
      • validityDeadline

        private volatile Deadline validityDeadline
    • Constructor Detail

      • PoolEntry

        PoolEntry​(T route,
                  TimeValue timeToLive,
                  Supplier<java.lang.Long> currentTimeSupplier)
      • PoolEntry

        public PoolEntry​(T route,
                         TimeValue timeToLive,
                         DisposalCallback<C> disposalCallback)
        Creates new PoolEntry instance.
        Parameters:
        route - route to the opposite endpoint.
        timeToLive - maximum time to live. May be zero if the connection does not have an expiry deadline.
        disposalCallback - callback invoked before connection disposal.
      • PoolEntry

        public PoolEntry​(T route,
                         TimeValue timeToLive)
        Creates new PoolEntry instance.
        Parameters:
        route - route to the opposite endpoint.
        timeToLive - maximum time to live. May be zero if the connection does not have an expiry deadline.
      • PoolEntry

        public PoolEntry​(T route)
    • Method Detail

      • getCurrentTime

        long getCurrentTime()
      • getRoute

        public T getRoute()
      • getConnection

        public C getConnection()
      • getValidityDeadline

        public Deadline getValidityDeadline()
        Since:
        5.0
      • getState

        public java.lang.Object getState()
      • getCreated

        public long getCreated()
        Since:
        5.2
      • getUpdated

        public long getUpdated()
      • getExpiryDeadline

        public Deadline getExpiryDeadline()
      • hasConnection

        public boolean hasConnection()
        Since:
        5.0
      • assignConnection

        public void assignConnection​(C conn)
        Since:
        5.0
      • discardConnection

        public void discardConnection​(CloseMode closeMode)
        Since:
        5.0
      • updateExpiry

        public void updateExpiry​(TimeValue expiryTime)
        Since:
        5.0
      • updateState

        public void updateState​(java.lang.Object state)
        Since:
        5.0
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object