Class ClientBootstrap

java.lang.Object
software.amazon.awssdk.crt.CrtResource
software.amazon.awssdk.crt.io.ClientBootstrap
All Implemented Interfaces:
AutoCloseable

public final class ClientBootstrap extends CrtResource
This class wraps the aws_client_bootstrap from aws-c-io to provide a client context for all protocol stacks in the AWS Common Runtime.
  • Constructor Details

    • ClientBootstrap

      public ClientBootstrap(EventLoopGroup elg, HostResolver hr) throws CrtRuntimeException
      Creates a new ClientBootstrap. Most applications will only ever need one instance of this.
      Parameters:
      hr - A HostResolver instance, most applications only ever have one
      elg - An EventLoopGroup instance, most applications only ever have one
      Throws:
      CrtRuntimeException - If the provided EventLoopGroup is null or invalid, or if the system is unable to allocate space for a native client bootstrap object
  • Method Details

    • getShutdownCompleteFuture

      public CompletableFuture<Void> getShutdownCompleteFuture()
    • closeStaticDefault

      public static void closeStaticDefault()
      Closes the static ClientBootstrap, if it exists. Primarily intended for tests that use the static default ClientBootstrap, before they call waitForNoResources().
    • getOrCreateStaticDefault

      public static ClientBootstrap getOrCreateStaticDefault()
      This default will be used when a ClientBootstrap is not explicitly passed but is needed to allow the process to function. An example of this would be in the MQTT connection creation workflow. The default ClientBootstrap will use the default EventLoopGroup and HostResolver, creating them if necessary. The default ClientBootstrap will be automatically managed and released when it's resources are being freed, not requiring any manual memory management.
      Returns:
      the static default ClientBootstrap