Class SdkEventLoopGroup

java.lang.Object
software.amazon.awssdk.http.nio.netty.SdkEventLoopGroup

public final class SdkEventLoopGroup extends Object
Provides EventLoopGroup and ChannelFactory for NettyNioAsyncHttpClient.

There are three ways to create a new instance.

When configuring the EventLoopGroup of NettyNioAsyncHttpClient, if SdkEventLoopGroup.Builder is passed to NettyNioAsyncHttpClient.Builder.eventLoopGroupBuilder(software.amazon.awssdk.http.nio.netty.SdkEventLoopGroup.Builder), the EventLoopGroup is managed by the SDK and will be shutdown when the HTTP client is closed. Otherwise, if an instance of SdkEventLoopGroup is passed to NettyNioAsyncHttpClient.Builder.eventLoopGroup(software.amazon.awssdk.http.nio.netty.SdkEventLoopGroup), the EventLoopGroup MUST be closed by the caller when it is ready to be disposed. The SDK will not close the EventLoopGroup when the HTTP client is closed. See EventExecutorGroup.shutdownGracefully() to properly close the event loop group.

See Also:
  • Method Details

    • eventLoopGroup

      public io.netty.channel.EventLoopGroup eventLoopGroup()
      Returns:
      the EventLoopGroup to be used with Netty Http client.
    • channelFactory

      public io.netty.channel.ChannelFactory<? extends io.netty.channel.Channel> channelFactory()
      Returns:
      the ChannelFactory to be used with Netty Http Client.
    • datagramChannelFactory

      public io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel> datagramChannelFactory()
      Returns:
      the ChannelFactory for datagram channels to be used with Netty Http Client.
    • create

      public static SdkEventLoopGroup create(io.netty.channel.EventLoopGroup eventLoopGroup, io.netty.channel.ChannelFactory<? extends io.netty.channel.Channel> channelFactory)
      Creates a new instance of SdkEventLoopGroup with EventLoopGroup and ChannelFactory to be used with NettyNioAsyncHttpClient.
      Parameters:
      eventLoopGroup - the EventLoopGroup to be used
      channelFactory - the channel factor to be used
      Returns:
      a new instance of SdkEventLoopGroup
    • create

      public static SdkEventLoopGroup create(io.netty.channel.EventLoopGroup eventLoopGroup)
      Creates a new instance of SdkEventLoopGroup with EventLoopGroup.

      ChannelFactory will be resolved based on the type of EventLoopGroup provided. IllegalArgumentException will be thrown for any unknown EventLoopGroup type.

      Parameters:
      eventLoopGroup - the EventLoopGroup to be used
      Returns:
      a new instance of SdkEventLoopGroup
    • builder

      public static SdkEventLoopGroup.Builder builder()