Class SdkEventLoopGroup
EventLoopGroup and ChannelFactory for NettyNioAsyncHttpClient.
There are three ways to create a new instance.
- using
builder()to provide custom configuration ofEventLoopGroup. This is the preferred configuration method when you just want to customize theEventLoopGroup - Using
create(EventLoopGroup)to provide a customEventLoopGroup.ChannelFactorywill be resolved based on the type ofEventLoopGroupprovided viaChannelResolver.resolveSocketChannelFactory(EventLoopGroup)andChannelResolver.resolveDatagramChannelFactory(EventLoopGroup) - Using
create(EventLoopGroup, ChannelFactory)to provide a customEventLoopGroupandChannelFactory
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:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic SdkEventLoopGroup.Builderbuilder()io.netty.channel.ChannelFactory<? extends io.netty.channel.Channel> static SdkEventLoopGroupcreate(io.netty.channel.EventLoopGroup eventLoopGroup) Creates a new instance of SdkEventLoopGroup withEventLoopGroup.static SdkEventLoopGroupcreate(io.netty.channel.EventLoopGroup eventLoopGroup, io.netty.channel.ChannelFactory<? extends io.netty.channel.Channel> channelFactory) Creates a new instance of SdkEventLoopGroup withEventLoopGroupandChannelFactoryto be used withNettyNioAsyncHttpClient.io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel> io.netty.channel.EventLoopGroup
-
Method Details
-
eventLoopGroup
public io.netty.channel.EventLoopGroup eventLoopGroup()- Returns:
- the
EventLoopGroupto be used with Netty Http client.
-
channelFactory
public io.netty.channel.ChannelFactory<? extends io.netty.channel.Channel> channelFactory()- Returns:
- the
ChannelFactoryto be used with Netty Http Client.
-
datagramChannelFactory
public io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel> datagramChannelFactory()- Returns:
- the
ChannelFactoryfor 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 withEventLoopGroupandChannelFactoryto be used withNettyNioAsyncHttpClient.- Parameters:
eventLoopGroup- the EventLoopGroup to be usedchannelFactory- the channel factor to be used- Returns:
- a new instance of SdkEventLoopGroup
-
create
Creates a new instance of SdkEventLoopGroup withEventLoopGroup.ChannelFactorywill be resolved based on the type ofEventLoopGroupprovided. IllegalArgumentException will be thrown for any unknown EventLoopGroup type.- Parameters:
eventLoopGroup- the EventLoopGroup to be used- Returns:
- a new instance of SdkEventLoopGroup
-
builder
-