Class DefaultPartitionedClientGroup<U,R,Client extends ListenableAsyncCloseable>

java.lang.Object
io.servicetalk.client.api.internal.DefaultPartitionedClientGroup<U,R,Client>
Type Parameters:
U - the type of address before resolution (unresolved address)
R - the type of address after resolution (resolved address)
Client - the type of client to connect to the partitions
All Implemented Interfaces:
ClientGroup<PartitionAttributes,Client>, AsyncCloseable, ListenableAsyncCloseable

@Deprecated public final class DefaultPartitionedClientGroup<U,R,Client extends ListenableAsyncCloseable> extends Object implements ClientGroup<PartitionAttributes,Client>
Deprecated.
We are unaware of anyone using "partition" feature and plan to remove it in future releases. If you depend on it, consider using ClientGroup as an alternative or reach out to the maintainers describing the use-case.
An implementation of ClientGroup that can be used for partitioned client use-cases where PartitionAttributes are discovered through PartitionedServiceDiscovererEvents.
  • Constructor Details

  • Method Details

    • onClose

      public Completable onClose()
      Deprecated.
      Description copied from interface: ListenableAsyncCloseable
      Returns a Completable that is notified once the ListenableAsyncCloseable was closed.
      Specified by:
      onClose in interface ListenableAsyncCloseable
      Returns:
      the Completable that is notified on close.
    • onClosing

      public Completable onClosing()
      Deprecated.
      Description copied from interface: ListenableAsyncCloseable
      Returns a Completable that is notified when closing begins.

      Closing begin might be when a close operation is initiated locally (e.g. subscribing to AsyncCloseable.closeAsync()) or it could also be a transport event received from a remote peer (e.g. read a connection: close header).

      For backwards compatibility this method maybe functionally equivalent to ListenableAsyncCloseable.onClose(). Therefore, provides a best-effort leading edge notification of closing, but may fall back to notification on trailing edge.

      The goal of this method is often to notify asap when closing so this method may not be offloaded and care must be taken to avoid blocking if subscribing to the return Completable.

      Specified by:
      onClosing in interface ListenableAsyncCloseable
      Returns:
      a Completable that is notified when closing begins.
    • closeAsync

      public Completable closeAsync()
      Deprecated.
      Description copied from interface: AsyncCloseable
      Used to close/shutdown a resource.
      Specified by:
      closeAsync in interface AsyncCloseable
      Returns:
      A Completable that is notified once the close is complete.
    • closeAsyncGracefully

      public Completable closeAsyncGracefully()
      Deprecated.
      Description copied from interface: AsyncCloseable
      Used to close/shutdown a resource, similar to AsyncCloseable.closeAsync(), but attempts to cleanup state before abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in flight work. This method is implemented on a "best effort" basis and may be equivalent to AsyncCloseable.closeAsync().

      Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a timeout and force a call to AsyncCloseable.closeAsync().

      Specified by:
      closeAsyncGracefully in interface AsyncCloseable
      Returns:
      A Completable that is notified once the close is complete.
    • get

      public Client get(PartitionAttributes partitionAttributes)
      Deprecated.
      Description copied from interface: ClientGroup
      Return the ClientGroup identified by the provided key or create a new one when none exists.
      Specified by:
      get in interface ClientGroup<U,R>
      Parameters:
      partitionAttributes - the key identifying the client to return or create, this key may contain attributes about the requested client in order to create new instances
      Returns:
      a client assigned to the provided key, either by looking up an existing or creating a new instance if non-existent