Class ReconnectLocationPool

java.lang.Object
org.apache.qpid.protonj2.client.util.ReconnectLocationPool

public class ReconnectLocationPool extends Object
Manages the list of available reconnect entries that are used to connect and recover a connection.
  • Constructor Details

  • Method Details

    • size

      public int size()
      Returns:
      the current size of the entry pool.
    • isEmpty

      public boolean isEmpty()
      Returns:
      true if the entry pool is empty.
    • getNext

      public ReconnectLocation getNext()
      Returns the next entry in the pool of entries. The entry will be shifted to the end of the list and not be attempted again until the full list has been returned once.
      Returns:
      the next entry that should be used for a connection attempt.
    • shuffle

      public void shuffle()
      Randomizes the order of the list of entries contained within the pool.
    • add

      public void add(ReconnectLocation entry)
      Adds a new entry to the pool if not already contained within.
      Parameters:
      entry - The new ReconnectLocation to add to the pool.
    • addAll

      public void addAll(List<ReconnectLocation> additions)
      Adds a list of new ReconnectLocation values to the pool if not already contained within.
      Parameters:
      additions - The new list of ReconnectLocation to add to the pool.
    • addFirst

      public void addFirst(ReconnectLocation entry)
      Adds a new ReconnectLocation to the pool if not already contained within. The ReconnectLocation is added to the head of the pooled ReconnectLocation list and will be the next value that is returned from the pool.
      Parameters:
      entry - The new ReconnectLocation to add to the pool.
    • remove

      public boolean remove(ReconnectLocation entry)
      Remove a ReconnectLocation from the pool if present, otherwise has no effect.
      Parameters:
      entry - The ReconnectLocation to attempt to remove from the pool.
      Returns:
      true if the given ReconnectLocation was removed from the pool.
    • removeAll

      public void removeAll()
      Removes all currently configured ReconnectLocation from the pool, no new ReconnectLocation values will be served from this pool until new ones are added.
    • replaceAll

      public void replaceAll(List<ReconnectLocation> replacements)
      Removes all currently configured ReconnectLocation values from the pool and replaces them with the new set given.
      Parameters:
      replacements - The new set of reconnect ReconnectLocation values to serve from this pool.
    • getList

      public List<ReconnectLocation> getList()
      Gets the current list of ReconnectLocation values. The returned list is a copy.
      Returns:
      a copy of the current list of ReconnectLocation values in the pool.
    • toString

      public String toString()
      Overrides:
      toString in class Object