Class HttpOrHttp2ChannelPool

java.lang.Object
software.amazon.awssdk.http.nio.netty.internal.http2.HttpOrHttp2ChannelPool
All Implemented Interfaces:
io.netty.channel.pool.ChannelPool, Closeable, AutoCloseable, SdkChannelPool

public class HttpOrHttp2ChannelPool extends Object implements SdkChannelPool
Channel pool that establishes an initial connection to determine protocol. Delegates to appropriate channel pool implementation depending on the protocol. This assumes that all connections will be negotiated with the same protocol.
  • Constructor Details

    • HttpOrHttp2ChannelPool

      public HttpOrHttp2ChannelPool(io.netty.channel.pool.ChannelPool delegatePool, io.netty.channel.EventLoopGroup group, int maxConcurrency, NettyConfiguration configuration)
  • Method Details

    • acquire

      public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire()
      Specified by:
      acquire in interface io.netty.channel.pool.ChannelPool
    • acquire

      public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire(io.netty.util.concurrent.Promise<io.netty.channel.Channel> promise)
      Specified by:
      acquire in interface io.netty.channel.pool.ChannelPool
    • release

      public io.netty.util.concurrent.Future<Void> release(io.netty.channel.Channel channel)
      Specified by:
      release in interface io.netty.channel.pool.ChannelPool
    • release

      public io.netty.util.concurrent.Future<Void> release(io.netty.channel.Channel channel, io.netty.util.concurrent.Promise<Void> promise)
      Specified by:
      release in interface io.netty.channel.pool.ChannelPool
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface io.netty.channel.pool.ChannelPool
      Specified by:
      close in interface Closeable
    • collectChannelPoolMetrics

      public CompletableFuture<Void> collectChannelPoolMetrics(MetricCollector metrics)
      Description copied from interface: SdkChannelPool
      Collect channel pool metrics into the provided MetricCollector collection, completing the returned future when all metric publishing is complete.
      Specified by:
      collectChannelPoolMetrics in interface SdkChannelPool
      Parameters:
      metrics - The collection to which all metrics should be added.
      Returns:
      A future that is completed when all metric publishing is complete.