Class 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 Detail

      • 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 Detail

      • canReleaseReferencesImmediately

        protected boolean canReleaseReferencesImmediately()
        Determines whether a resource releases its dependencies at the same time the native handle is released or if it waits. Resources that wait are responsible for calling releaseReferences() manually.
        Specified by:
        canReleaseReferencesImmediately in class CrtResource
        Returns:
        true if this resource releases synchronously, false if this resource performs async shutdown
      • releaseNativeHandle

        protected void releaseNativeHandle()
        Cleans up the client bootstrap's associated native handle
        Specified by:
        releaseNativeHandle in class CrtResource