diff --git a/.gitignore b/.gitignore
index 7623ed85e..64625c3fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,8 +92,8 @@ settings.xml
bin/
log.txt
-# docs are updated automatically by .github/workflows/docs.yml
-docs/
+# # docs are updated automatically by .github/workflows/docs.yml
+# docs/
# graalvm manually generated config files
graalvm-configuration
diff --git a/README.md b/README.md
index 8394455a0..28e9ccafe 100644
--- a/README.md
+++ b/README.md
@@ -159,6 +159,13 @@ Platforms without FIPS compliance are also included in this jar, for compatibili
> [!WARNING]
> The classifier, and platforms with FIPS compliance are subject to change in the future.
+## GraalVM support
+
+Since version v0.29.20, GraalVM native image was supported. You can compile your application with AWS CRT in a GraalVM native image project without any additional configuration.
+
+Since version v0.30.12, GraalVM support was updated. Instead of packaging the JNI shared lib with native image as resource, the corresponding shared lib will be written to the same directory as the native image.
+In this way, it reduces the native image size around 30%, and avoids the extra loading time needed for extracting the JNI lib to the temporary path for load. No additional configuration needed.
+**Note**: the extracted JNI lib, `libaws-crt-jni.*` , will need to be exist in the directory containing the native image, if you move the native image to different directory.
## System Properties
diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html
new file mode 100644
index 000000000..7d35e91b8
--- /dev/null
+++ b/docs/allclasses-index.html
@@ -0,0 +1,909 @@
+
+
+
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
Interface that Native code knows how to call when handling Http Responses
+
+ Maps 1-1 to the Native Http API here:
+ https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Please use S3ClientOptions.withSigningConfig(AwsSigningConfig) instead.
+ The credentials provider will be used to create the signing Config when the client was created.
+ Client will use `AwsSigningConfig.getDefaultS3SigningConfig(region, credentialsProvider);` to create the signing config.
Please use S3MetaRequestOptions.withChecksumConfig(ChecksumConfig) instead.
+ Specify the checksum algorithm to use use for put requests, if unset defaults to NONE and no checksum will be calculated.
+ The location of the checksum will be default to trailer.
Please use S3MetaRequestOptions.withChecksumConfig(ChecksumConfig) instead.
+ validateChecksum defaults to false, if set to true, it will cause the client to compare a streamed
+ calculation of the objects checksum to a remotely stored checksum assigned to the object if one exists.
+ The checksumValidated field passed in parameter of the finished callback will inform
+ the user if validation ocurred. A mismatch will result in a AWS_ERROR_S3_RESPONSE_CHECKSUM_MISMATCH error
+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces
+
+
Search
+
You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API. These items can be searched using part or all of the name, optionally using "camelCase" abbreviations, or multiple search terms separated by whitespace. Some examples:
+The following sections describe the different kinds of pages in this collection.
+
+
Overview
+
The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+
+
+
Package
+
Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:
+
+
Interfaces
+
Classes
+
Enums
+
Exception Classes
+
Annotation Types
+
+
+
+
Class or Interface
+
Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.
+
+
Class Inheritance Diagram
+
Direct Subclasses
+
All Known Subinterfaces
+
All Known Implementing Classes
+
Class or Interface Declaration
+
Class or Interface Description
+
+
+
+
Nested Class Summary
+
Enum Constant Summary
+
Field Summary
+
Property Summary
+
Constructor Summary
+
Method Summary
+
Required Element Summary
+
Optional Element Summary
+
+
+
+
Enum Constant Details
+
Field Details
+
Property Details
+
Constructor Details
+
Method Details
+
Element Details
+
+
Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.
+
The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+
Other Files
+
Packages and modules may contain pages with additional information related to the declarations nearby.
+
+
+
Use
+
Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.
+
+
+
Tree (Class Hierarchy)
+
There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.
+
+
When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
+
When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
+
+
+
+
Deprecated API
+
The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.
+
+
+
All Packages
+
The All Packages page contains an alphabetic index of all packages contained in the documentation.
+
+
+
All Classes and Interfaces
+
The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.
+
+
+
Index
+
The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.
+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+
diff --git a/docs/index-all.html b/docs/index-all.html
new file mode 100644
index 000000000..8c4138886
--- /dev/null
+++ b/docs/index-all.html
@@ -0,0 +1,6632 @@
+
+
+
+
+Index (software.amazon.awssdk.crt:aws-crt 1.0.0-SNAPSHOT API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
Returned when the authentication method used in the connection is either nor supported on the server or it does
+ not match the authentication method currently in use in the ConnectPacket.
The CopyObject meta request performs a multi-part copy using multiple S3 UploadPartCopy requests
+ in parallel, or bypasses a CopyObject request to S3 if the object size is not large enough for
+ a multipart upload.
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
All operations that are not complete at the time of disconnection are failed, except operations that
+ the MQTT5 spec requires to be retransmitted (un-acked QoS1+ publishes).
Returns the additional controls for client behavior with respect to operation validation and flow control;
+ these checks go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Returns the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
Sent publishes - Returns the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
Returns a boolean that, if true, requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Returns how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Returns property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Returns a property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Returns the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Returns a time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
Interface that Native code knows how to call when handling Http Responses
+
+ Maps 1-1 to the Native Http API here:
+ https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
Returned when the server closes the connection because no packet from the client has been received in
+ 1.5 times the KeepAlive time set when the connection was established.
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
Returned when the remote endpoint received a packet whose size was greater than the maximum packet size limit
+ it established for itself when the connection was opened.
PublishResult result was a publish acknowledgment (PubAck - QoS 1)
+ This means the PublishResult has a PubAck and getValue will return
+ the PubAckPacket associated with the publish.
Returned when the remote endpoint reached a state where there were more in-progress QoS1+ publishes then the
+ limit it established for itself when the connection was opened.
Returned when the server has established another connection with the same client ID as a client's current
+ connection, causing the current client to become disconnected.
stop() - Method in class software.amazon.awssdk.crt.mqtt5.Mqtt5Client
+
+
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Creates a new TlsContextCustomKeyOperationOptions and sets the TlsKeyOperationHandler that
+ will be invoked when there is a TLS key operation that needs to be performed.
Returned when the remote endpoint receives a PublishPacket that contained a topic alias greater than the
+ maximum topic alias limit that it established for itself when the connection was opened.
Returned when the unsubscribe of the topic filter was not accepted and the server does not want to specify a
+ reason or none of the other reason codes apply.
Please use S3MetaRequestOptions.withChecksumConfig(ChecksumConfig) instead.
+ Specify the checksum algorithm to use use for put requests, if unset defaults to NONE and no checksum will be calculated.
+ The location of the checksum will be default to trailer.
If set, HttpClientConnectionManager.acquireConnection()
+ will give up after waiting this long for a connection from the pool,
+ failing with error AWS_ERROR_HTTP_CONNECTION_MANAGER_ACQUISITION_TIMEOUT.
Please use S3ClientOptions.withSigningConfig(AwsSigningConfig) instead.
+ The credentials provider will be used to create the signing Config when the client was created.
+ Client will use `AwsSigningConfig.getDefaultS3SigningConfig(region, credentialsProvider);` to create the signing config.
To enable S3 Express support for client
+ The typical usage for a S3 Express request is to set this to true and let the request to be signed with
+ AwsSigningConfig.AwsSigningAlgorithm.SIGV4_S3EXPRESS, either from the client level signingConfig or override from request.
Sets the additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Sets the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
If set, HttpClientConnectionManager.acquireConnection() will fail with
+ AWS_ERROR_HTTP_CONNECTION_MANAGER_MAX_PENDING_ACQUISITIONS_EXCEEDED if there are already pending acquisitions
+ equal to `maxPendingConnectionAcquisitions`.
Sets the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
The S3 operation name (eg: "CreateBucket"),
+ this MUST be set for S3MetaRequestOptions.MetaRequestType.DEFAULT,
+ it is ignored for other meta request types since the operation is implicit.
Sets whether requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Sets how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Sets the property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Please use S3MetaRequestOptions.withChecksumConfig(ChecksumConfig) instead.
+ validateChecksum defaults to false, if set to true, it will cause the client to compare a streamed
+ calculation of the objects checksum to a remotely stored checksum assigned to the object if one exists.
+ The checksumValidated field passed in parameter of the finished callback will inform
+ the user if validation ocurred. A mismatch will result in a AWS_ERROR_S3_RESPONSE_CHECKSUM_MISMATCH error
Sets the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Sets the time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
+
+
+
+
diff --git a/docs/legal/ADDITIONAL_LICENSE_INFO b/docs/legal/ADDITIONAL_LICENSE_INFO
new file mode 100644
index 000000000..ff700cd09
--- /dev/null
+++ b/docs/legal/ADDITIONAL_LICENSE_INFO
@@ -0,0 +1,37 @@
+ ADDITIONAL INFORMATION ABOUT LICENSING
+
+Certain files distributed by Oracle America, Inc. and/or its affiliates are
+subject to the following clarification and special exception to the GPLv2,
+based on the GNU Project exception for its Classpath libraries, known as the
+GNU Classpath Exception.
+
+Note that Oracle includes multiple, independent programs in this software
+package. Some of those programs are provided under licenses deemed
+incompatible with the GPLv2 by the Free Software Foundation and others.
+For example, the package includes programs licensed under the Apache
+License, Version 2.0 and may include FreeType. Such programs are licensed
+to you under their original licenses.
+
+Oracle facilitates your further distribution of this package by adding the
+Classpath Exception to the necessary parts of its GPLv2 code, which permits
+you to use that code in combination with other independent modules not
+licensed under the GPLv2. However, note that this would not permit you to
+commingle code under an incompatible license with Oracle's GPLv2 licensed
+code by, for example, cutting and pasting such code into a file also
+containing Oracle's GPLv2 licensed code and then distributing the result.
+
+Additionally, if you were to remove the Classpath Exception from any of the
+files to which it applies and distribute the result, you would likely be
+required to license some or all of the other code in that distribution under
+the GPLv2 as well, and since the GPLv2 is incompatible with the license terms
+of some items included in the distribution by Oracle, removing the Classpath
+Exception could therefore effectively compromise your ability to further
+distribute the package.
+
+Failing to distribute notices associated with some files may also create
+unexpected legal consequences.
+
+Proceed with caution and we recommend that you obtain the advice of a lawyer
+skilled in open source matters before removing the Classpath Exception or
+making modifications to this package which may subsequently be redistributed
+and/or involve the use of third party software.
diff --git a/docs/legal/ASSEMBLY_EXCEPTION b/docs/legal/ASSEMBLY_EXCEPTION
new file mode 100644
index 000000000..429666664
--- /dev/null
+++ b/docs/legal/ASSEMBLY_EXCEPTION
@@ -0,0 +1,27 @@
+
+OPENJDK ASSEMBLY EXCEPTION
+
+The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
+openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU
+General Public License version 2
+only ("GPL2"), with the following clarification and special exception.
+
+ Linking this OpenJDK Code statically or dynamically with other code
+ is making a combined work based on this library. Thus, the terms
+ and conditions of GPL2 cover the whole combination.
+
+ As a special exception, Oracle gives you permission to link this
+ OpenJDK Code with certain code licensed by Oracle as indicated at
+ https://openjdk.org/legal/exception-modules-2007-05-08.html
+ ("Designated Exception Modules") to produce an executable,
+ regardless of the license terms of the Designated Exception Modules,
+ and to copy and distribute the resulting executable under GPL2,
+ provided that the Designated Exception Modules continue to be
+ governed by the licenses under which they were offered by Oracle.
+
+As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
+to build an executable that includes those portions of necessary code that
+Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
+with the Classpath exception). If you modify or add to the OpenJDK code,
+that new GPL2 code may still be combined with Designated Exception Modules
+if the new code is made subject to this exception by its copyright holder.
diff --git a/docs/legal/LICENSE b/docs/legal/LICENSE
new file mode 100644
index 000000000..8b400c7ab
--- /dev/null
+++ b/docs/legal/LICENSE
@@ -0,0 +1,347 @@
+The GNU General Public License (GPL)
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public License is intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users. This General Public License applies to
+most of the Free Software Foundation's software and to any other program whose
+authors commit to using it. (Some other Free Software Foundation software is
+covered by the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom to
+distribute copies of free software (and charge for this service if you wish),
+that you receive source code or can get it if you want it, that you can change
+the software or use pieces of it in new free programs; and that you know you
+can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny
+you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of the
+software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for
+a fee, you must give the recipients all the rights that you have. You must
+make sure that they, too, receive or can get the source code. And you must
+show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If the
+software is modified by someone else and passed on, we want its recipients to
+know that what they have is not the original, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will
+individually obtain patent licenses, in effect making the program proprietary.
+To prevent this, we have made it clear that any patent must be licensed for
+everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms of
+this General Public License. The "Program", below, refers to any such program
+or work, and a "work based on the Program" means either the Program or any
+derivative work under copyright law: that is to say, a work containing the
+Program or a portion of it, either verbatim or with modifications and/or
+translated into another language. (Hereinafter, translation is included
+without limitation in the term "modification".) Each licensee is addressed as
+"you".
+
+Activities other than copying, distribution and modification are not covered by
+this License; they are outside its scope. The act of running the Program is
+not restricted, and the output from the Program is covered only if its contents
+constitute a work based on the Program (independent of having been made by
+running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as
+you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this License
+and to the absence of any warranty; and give any other recipients of the
+Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may
+at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus
+forming a work based on the Program, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all of
+these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating
+ that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in whole or
+ in part contains or is derived from the Program or any part thereof, to be
+ licensed as a whole at no charge to all third parties under the terms of
+ this License.
+
+ c) If the modified program normally reads commands interactively when run,
+ you must cause it, when started running for such interactive use in the
+ most ordinary way, to print or display an announcement including an
+ appropriate copyright notice and a notice that there is no warranty (or
+ else, saying that you provide a warranty) and that users may redistribute
+ the program under these conditions, and telling the user how to view a copy
+ of this License. (Exception: if the Program itself is interactive but does
+ not normally print such an announcement, your work based on the Program is
+ not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be reasonably
+considered independent and separate works in themselves, then this License, and
+its terms, do not apply to those sections when you distribute them as separate
+works. But when you distribute the same sections as part of a whole which is a
+work based on the Program, the distribution of the whole must be on the terms
+of this License, whose permissions for other licensees extend to the entire
+whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise the
+right to control the distribution of derivative or collective works based on
+the Program.
+
+In addition, mere aggregation of another work not based on the Program with the
+Program (or with a work based on the Program) on a volume of a storage or
+distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may copy and distribute the Program (or a work based on it, under
+Section 2) in object code or executable form under the terms of Sections 1 and
+2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable source
+ code, which must be distributed under the terms of Sections 1 and 2 above
+ on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three years, to
+ give any third party, for a charge no more than your cost of physically
+ performing source distribution, a complete machine-readable copy of the
+ corresponding source code, to be distributed under the terms of Sections 1
+ and 2 above on a medium customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer to
+ distribute corresponding source code. (This alternative is allowed only
+ for noncommercial distribution and only if you received the program in
+ object code or executable form with such an offer, in accord with
+ Subsection b above.)
+
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all
+the source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable. However, as a special exception, the source code
+distributed need not include anything that is normally distributed (in either
+source or binary form) with the major components (compiler, kernel, and so on)
+of the operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the source
+code from the same place counts as distribution of the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as
+expressly provided under this License. Any attempt otherwise to copy, modify,
+sublicense or distribute the Program is void, and will automatically terminate
+your rights under this License. However, parties who have received copies, or
+rights, from you under this License will not have their licenses terminated so
+long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it.
+However, nothing else grants you permission to modify or distribute the Program
+or its derivative works. These actions are prohibited by law if you do not
+accept this License. Therefore, by modifying or distributing the Program (or
+any work based on the Program), you indicate your acceptance of this License to
+do so, and all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program),
+the recipient automatically receives a license from the original licensor to
+copy, distribute or modify the Program subject to these terms and conditions.
+You may not impose any further restrictions on the recipients' exercise of the
+rights granted herein. You are not responsible for enforcing compliance by
+third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues), conditions
+are imposed on you (whether by court order, agreement or otherwise) that
+contradict the conditions of this License, they do not excuse you from the
+conditions of this License. If you cannot distribute so as to satisfy
+simultaneously your obligations under this License and any other pertinent
+obligations, then as a consequence you may not distribute the Program at all.
+For example, if a patent license would not permit royalty-free redistribution
+of the Program by all those who receive copies directly or indirectly through
+you, then the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or
+other property right claims or to contest validity of any such claims; this
+section has the sole purpose of protecting the integrity of the free software
+distribution system, which is implemented by public license practices. Many
+people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose that
+choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original
+copyright holder who places the Program under this License may add an explicit
+geographical distribution limitation excluding those countries, so that
+distribution is permitted only in or among countries not thus excluded. In
+such case, this License incorporates the limitation as if written in the body
+of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the
+General Public License from time to time. Such new versions will be similar in
+spirit to the present version, but may differ in detail to address new problems
+or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any later
+version", you have the option of following the terms and conditions either of
+that version or of any later version published by the Free Software Foundation.
+If the Program does not specify a version number of this License, you may
+choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software Foundation,
+write to the Free Software Foundation; we sometimes make exceptions for this.
+Our decision will be guided by the two goals of preserving the free status of
+all derivatives of our free software and of promoting the sharing and reuse of
+software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
+PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
+YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
+ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
+PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
+INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
+BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
+OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible
+use to the public, the best way to achieve this is to make it free software
+which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach
+them to the start of each source file to most effectively convey the exclusion
+of warranty; and each file should have at least the "copyright" line and a
+pointer to where the full notice is found.
+
+ One line to give the program's name and a brief idea of what it does.
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it
+starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
+ with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
+ software, and you are welcome to redistribute it under certain conditions;
+ type 'show c' for details.
+
+The hypothetical commands 'show w' and 'show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may be
+called something other than 'show w' and 'show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the program, if necessary. Here
+is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ 'Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ signature of Ty Coon, 1 April 1989
+
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General Public
+License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL
+
+Certain source files distributed by Oracle America and/or its affiliates are
+subject to the following clarification and special exception to the GPL, but
+only where Oracle has expressly included in the particular source file's header
+the words "Oracle designates this particular file as subject to the "Classpath"
+exception as provided by Oracle in the LICENSE file that accompanied this code."
+
+ Linking this library statically or dynamically with other modules is making
+ a combined work based on this library. Thus, the terms and conditions of
+ the GNU General Public License cover the whole combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent modules,
+ and to copy and distribute the resulting executable under terms of your
+ choice, provided that you also meet, for each linked independent module,
+ the terms and conditions of the license of that module. An independent
+ module is a module which is not derived from or based on this library. If
+ you modify this library, you may extend this exception to your version of
+ the library, but you are not obligated to do so. If you do not wish to do
+ so, delete this exception statement from your version.
diff --git a/docs/legal/jquery.md b/docs/legal/jquery.md
new file mode 100644
index 000000000..d468b3183
--- /dev/null
+++ b/docs/legal/jquery.md
@@ -0,0 +1,72 @@
+## jQuery v3.6.1
+
+### jQuery License
+```
+jQuery v 3.6.1
+Copyright OpenJS Foundation and other contributors, https://openjsf.org/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+******************************************
+
+The jQuery JavaScript Library v3.6.1 also includes Sizzle.js
+
+Sizzle.js includes the following license:
+
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/sizzle
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+*********************
+
+```
diff --git a/docs/legal/jqueryUI.md b/docs/legal/jqueryUI.md
new file mode 100644
index 000000000..8bda9d7a8
--- /dev/null
+++ b/docs/legal/jqueryUI.md
@@ -0,0 +1,49 @@
+## jQuery UI v1.13.2
+
+### jQuery UI License
+```
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery-ui
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code contained within the demos directory.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+```
diff --git a/docs/member-search-index.js b/docs/member-search-index.js
new file mode 100644
index 000000000..b90f26b60
--- /dev/null
+++ b/docs/member-search-index.js
@@ -0,0 +1 @@
+memberSearchIndex = [{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"acquireConnection()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"acquireNativeHandle(long)"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"acquireShutdownRef()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"acquireStream(Http2Request, HttpStreamBaseResponseHandler)","u":"acquireStream(software.amazon.awssdk.crt.http.Http2Request,software.amazon.awssdk.crt.http.HttpStreamBaseResponseHandler)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"acquireStream(HttpRequest, HttpStreamBaseResponseHandler)","u":"acquireStream(software.amazon.awssdk.crt.http.HttpRequest,software.amazon.awssdk.crt.http.HttpStreamBaseResponseHandler)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"activate()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"activate(String, List, byte[], MessageType, int)","u":"activate(java.lang.String,java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"activate(String, List, byte[], MessageType, int, MessageFlushCallback)","u":"activate(java.lang.String,java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int,software.amazon.awssdk.crt.eventstream.MessageFlushCallback)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"addHeader(HttpHeader)","u":"addHeader(software.amazon.awssdk.crt.http.HttpHeader)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"addHeader(String, String)","u":"addHeader(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"addHeaders(HttpHeader[])","u":"addHeaders(software.amazon.awssdk.crt.http.HttpHeader[])"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"addRef()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"addReferenceTo(CrtResource)","u":"addReferenceTo(software.amazon.awssdk.crt.CrtResource)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"addSetting(Http2ConnectionSetting)","u":"addSetting(software.amazon.awssdk.crt.http.Http2ConnectionSetting)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"ADMINISTRATIVE_ACTION"},{"p":"software.amazon.awssdk.crt.internal","c":"GraalVMNativeFeature","l":"afterImageWrite(Feature.AfterImageWriteAccess)","u":"afterImageWrite(org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"alpnList"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"appendDecodingUri(String, String)","u":"appendDecodingUri(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"appendEncodingUriParam(String, String)","u":"appendEncodingUriParam(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"appendEncodingUriPath(String, String)","u":"appendEncodingUriPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"ApplicationError"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"ApplicationMessage"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"AT_LEAST_ONCE"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"AT_LEAST_ONCE"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"AT_MOST_ONCE"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"AT_MOST_ONCE"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"AuthCredentialsProvider"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"AuthGeneral"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"AuthProfile"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"AuthSigning"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"AWS_CRT_SUCCESS"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"AWS_ECDSA_P256"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"AWS_ECDSA_P384"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"AWS_IOT_CORE_DEFAULTS"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"awsErrorName(int)"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"awsErrorString(int)"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"awsLastError()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"AwsSignedBodyValue()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"AwsSigner()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"AwsSigningConfig()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningResult","l":"AwsSigningResult()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningUtils","l":"AwsSigningUtils()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"BAD_AUTHENTICATION_METHOD"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"BAD_USERNAME_OR_PASSWORD"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"BANNED"},{"p":"software.amazon.awssdk.crt.utils","c":"StringUtils","l":"base64Decode(byte[])"},{"p":"software.amazon.awssdk.crt.utils","c":"StringUtils","l":"base64Encode(byte[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyAuthorizationType","l":"Basic"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"bodyStream"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"BooleanFalse"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"BooleanTrue"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"BUFFER_INT_SIZE"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CachedCredentialsProvider.CachedCredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DefaultChainCredentialsProvider.DefaultChainCredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DelegateCredentialsProvider.DelegateCredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsWebIdentityCredentialsProvider.Builder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket.UnsubscribePacketBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"build()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider","l":"builder()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider","l":"builder()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider","l":"builder()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsWebIdentityCredentialsProvider","l":"builder()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting","l":"builder()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"Byte"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"ByteBuf"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"BYTES"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CachedCredentialsProvider.CachedCredentialsProviderBuilder","l":"CachedCredentialsProviderBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"CANCEL"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"cancel()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"canonicalName"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CredentialsProvider","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Message","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuation","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListener","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"ServerBootstrap","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContext","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3Client","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"canReleaseReferencesImmediately()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"checkJniExceptionContract(boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"ChecksumConfig()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"CLEAN"},{"p":"software.amazon.awssdk.crt.utils","c":"PemUtils","l":"cleanUpPem(String)","u":"cleanUpPem(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"CLIENT_IDENTIFIER_NOT_VALID"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"ClientBootstrap(EventLoopGroup, HostResolver)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.EventLoopGroup,software.amazon.awssdk.crt.io.HostResolver)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"clientConnection"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"ClientConnectionContinuationHandler()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"ClientConnectionHandler()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"ClientTlsContext","l":"ClientTlsContext(TlsContextOptions)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsContextOptions)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"clone()"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"clone()"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"clone()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"clone()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"close()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"close()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"close()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"close()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"close()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"closeConnection(int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"closeConnection(int)"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"closeStaticDefault()"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"closeStaticDefault()"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"closeStaticDefault()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"CognitoCredentialsProviderBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoLoginTokenPair","l":"CognitoLoginTokenPair(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"collectNativeResource(Consumer)","u":"collectNativeResource(java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"collectNativeResources(Consumer)","u":"collectNativeResources(java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"CommonGeneral"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"CommonTaskScheduler"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"complete(byte[])"},{"p":"software.amazon.awssdk.crt.mqtt","c":"WebsocketHandshakeTransformArgs","l":"complete(HttpRequest)","u":"complete(software.amazon.awssdk.crt.http.HttpRequest)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5WebsocketHandshakeTransformArgs","l":"complete(HttpRequest)","u":"complete(software.amazon.awssdk.crt.http.HttpRequest)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"completeExceptionally(Throwable)","u":"completeExceptionally(java.lang.Throwable)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"WebsocketHandshakeTransformArgs","l":"completeExceptionally(Throwable)","u":"completeExceptionally(java.lang.Throwable)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5WebsocketHandshakeTransformArgs","l":"completeExceptionally(Throwable)","u":"completeExceptionally(java.lang.Throwable)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"COMPRESSION_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"ConnAckPacket()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"Connect"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"CONNECT_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"connect()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"connect(String, int, SocketOptions, ClientTlsContext, ClientBootstrap, ClientConnectionHandler)","u":"connect(java.lang.String,int,software.amazon.awssdk.crt.io.SocketOptions,software.amazon.awssdk.crt.io.ClientTlsContext,software.amazon.awssdk.crt.io.ClientBootstrap,software.amazon.awssdk.crt.eventstream.ClientConnectionHandler)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"ConnectAck"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"connection"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"CONNECTION_RATE_EXCEEDED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"CONNECTION_RATE_EXCEEDED"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlags","l":"ConnectionAccepted"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"ConnectPacketBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"connectTimeoutMs"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"continuation"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"continuation"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"COPY_OBJECT"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo.CpuInfo","l":"cpuId"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"CRC32"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"CRC32()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"CRC32C"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"CRC32C()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"CREATE_NEW"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"CREATE_OR_APPEND"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"CREATE_OR_REPLACE"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider","l":"create()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider","l":"create()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider","l":"create()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsWebIdentityCredentialsProvider","l":"create()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"create(Http2StreamManagerOptions)","u":"create(software.amazon.awssdk.crt.http.Http2StreamManagerOptions)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"create(HttpClientConnectionManagerOptions)","u":"create(software.amazon.awssdk.crt.http.HttpClientConnectionManagerOptions)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"createAnonymousCredentials()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createDefaultClient()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createDefaultServer()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, boolean)","u":"createHeader(java.lang.String,boolean)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, byte)","u":"createHeader(java.lang.String,byte)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, byte[])","u":"createHeader(java.lang.String,byte[])"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, Date)","u":"createHeader(java.lang.String,java.util.Date)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, int)","u":"createHeader(java.lang.String,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, long)","u":"createHeader(java.lang.String,long)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, short)","u":"createHeader(java.lang.String,short)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, String)","u":"createHeader(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"createHeader(String, UUID)","u":"createHeader(java.lang.String,java.util.UUID)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProviderFactory","l":"createS3ExpressCredentialsProvider(S3Client)","u":"createS3ExpressCredentialsProvider(software.amazon.awssdk.crt.s3.S3Client)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtls(String, String)","u":"createWithMtls(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsCustomKeyOperations(TlsContextCustomKeyOperationOptions)","u":"createWithMtlsCustomKeyOperations(software.amazon.awssdk.crt.io.TlsContextCustomKeyOperationOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsFromPath(String, String)","u":"createWithMtlsFromPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsJavaKeystore(KeyStore, String, String)","u":"createWithMtlsJavaKeystore(java.security.KeyStore,java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsPkcs11(TlsContextPkcs11Options)","u":"createWithMtlsPkcs11(software.amazon.awssdk.crt.io.TlsContextPkcs11Options)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsPkcs12(String, String)","u":"createWithMtlsPkcs12(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"createWithMtlsWindowsCertStorePath(String)","u":"createWithMtlsWindowsCertStorePath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"Credentials()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"Credentials(byte[], byte[], byte[])","u":"%3Cinit%3E(byte[],byte[],byte[])"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"Credentials(byte[], byte[], byte[], long)","u":"%3Cinit%3E(byte[],byte[],byte[],long)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CredentialsProvider","l":"CredentialsProvider()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"CRT_LIB_NAME"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"CRT()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"CrtPlatform()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"CrtResource()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"CrtRuntimeException(int)","u":"%3Cinit%3E(int)"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"CrtRuntimeException(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"CrtRuntimeException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Debug"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"decodeUri(String)","u":"decodeUri(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"Decorrelated"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"decRef()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"DECRYPT"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"Default"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"Default"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"Default"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib.InitializeFinalizeBehavior","l":"DEFAULT"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"DEFAULT"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"DEFAULT"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"DEFAULT"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"DEFAULT_CONNECTION_PING_TIMEOUT_MS"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"DEFAULT_MAX"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"DEFAULT_MAX_BUFFER_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"DEFAULT_MAX_CONNECTIONS"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"DEFAULT_MAX_CONNECTIONS"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"DEFAULT_MAX_WINDOW_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"DEFAULT_MAX_WINDOW_SIZE"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DefaultChainCredentialsProvider.DefaultChainCredentialsProviderBuilder","l":"DefaultChainCredentialsProviderBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DelegateCredentialsProvider.DelegateCredentialsProviderBuilder","l":"DelegateCredentialsProviderBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProvider","l":"destroyProvider()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProviderHandler","l":"destroyProvider()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketType","l":"DGRAM"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"DirectoryEntry()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryTraversal","l":"DirectoryTraversal()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"Disabled"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"Disabled"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType","l":"DISABLED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"DISCONNECT_WITH_WILL_MESSAGE"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"disconnect()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"DisconnectPacketBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"domain"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"DONT_SEND"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"dumpNativeMemory()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"ECDSA"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"EMPTY_SHA256"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"ENABLE_PUSH"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"Enabled"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType","l":"ENABLED"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"enablePush(boolean)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"encodedPath"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"encodeUriParam(String)","u":"encodeUriParam(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"encodeUriPath(String)","u":"encodeUriPath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"ENHANCE_YOUR_CALM"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Error"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"errorCode"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"errorName"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"EventLoopGroup(int)","u":"%3Cinit%3E(int)"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"EventLoopGroup(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"EventStreamServerListener"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"EXACTLY_ONCE"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"EXACTLY_ONCE"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"ExponentialBackoffRetryOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.internal","c":"ExtractLib","l":"ExtractLib()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.internal","c":"ExtractLib","l":"extractLibrary(File)","u":"extractLibrary(java.io.File)"},{"p":"software.amazon.awssdk.crt.internal","c":"ExtractLib","l":"extractLibrary(String)","u":"extractLibrary(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"FAIL_ALL_ON_DISCONNECT"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"FAIL_NON_QOS1_PUBLISH_ON_DISCONNECT"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"FAIL_QOS0_PUBLISH_ON_DISCONNECT"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Fatal"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"FLOW_CONTROL_ERROR"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"Forwarding"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"FRAME_SIZE_ERROR"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"fromByteBuffer(ByteBuffer)","u":"fromByteBuffer(java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"fromEnumValue(int)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"Full"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"GET_OBJECT"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"getAccessKeyId()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getAckTimeoutSeconds()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getAlgorithm()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpMonitoringOptions","l":"getAllowableThroughputFailureIntervalSeconds()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"getArchIdentifier()"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"getArchIdentifier()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getAssignedClientID()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getAssignedClientIdentifier()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getAuthorizationPassword()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getAuthorizationType()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getAuthorizationUsername()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpManagerMetrics","l":"getAvailableConcurrency()"},{"p":"software.amazon.awssdk.crt.io","c":"StandardRetryOptions","l":"getBackoffRetryOptions()"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"getBackoffScaleFactorMS()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"getBodyStream()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getBootstrap()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListener","l":"getBoundPort()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getBufferSize()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestProgress","l":"getBytesTransferred()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlags","l":"getByteValue()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getCause()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"getCertificateFileContents()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"getCertificateFilePath()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"getChecksumAlgorithm()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getChecksumAlgorithm()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getChecksumAlgorithm()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getChecksumConfig()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"getChecksumLocation()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getCleanSession()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getClientBootstrap()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getClientBootstrap()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getClientId()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getClientId()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"getClientOptions()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"getClosedFuture()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"getClosedFuture()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getComputeContentMd5()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnConnectionFailureReturn","l":"getConnAckPacket()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnConnectionSuccessReturn","l":"getConnAckPacket()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getConnackTimeoutMs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getConnectionAcquisitionTimeoutInMilliseconds()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getConnectionCallbacks()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"getConnectionClosedFuture()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getConnectionManagerOptions()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getConnectionPingPeriodMs()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getConnectionPingTimeoutMs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"getConnectionType()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getConnectionType()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getConnectOptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getConnectTimeoutMs()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestProgress","l":"getContentLength()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getContentType()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"getContinuationClosedFuture()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"getContinuationClosedFuture()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getCorrelationData()"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo","l":"getCpuGroupCount()"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo","l":"getCpuInfoForGroup(short)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CredentialsProvider","l":"getCredentials()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DelegateCredentialsHandler","l":"getCredentials()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getCredentials()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getCredentialsProvider()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getCredentialsProvider()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getCredentialsProvider()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"getCRuntime(String)","u":"getCRuntime(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"getCustomRoleArn()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getDefaultS3SigningConfig(String, CredentialsProvider)","u":"getDefaultS3SigningConfig(java.lang.String,software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"getDigestAlgorithm()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnDisconnectionReturn","l":"getDisconnectPacket()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"getDup()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getEnableS3Express()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequest","l":"getEncodedPath()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"getEndpoint()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getEndpoint()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getEndpoint()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getEndpoint()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"getEnumIntValue()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"getEnumValue()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"getEnumValueFromInteger(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"getEnvironmentVariableType()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpException","l":"getErrorCode()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"OnConnectionFailureReturn","l":"getErrorCode()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnConnectionFailureReturn","l":"getErrorCode()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnDisconnectionReturn","l":"getErrorCode()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getErrorCode()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getErrorHeaders()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getErrorOperationName()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getErrorPayload()"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"getEventLoopGroup()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getExpectedHttpVersion()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getExpirationInSeconds()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"getExpirationTimePointSecs()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getExtendedValidationAndFlowControlOptions()"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"getFileSize()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"getHeaders()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"getHeadersAsArray()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getHeaderType()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getHost()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getHostName()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProperties","l":"getHostValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getHttpProxyEnvironmentVariableSetting()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getHttpProxyEnvironmentVariableSetting()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getHttpProxyOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getHttpProxyOptions()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"WebsocketHandshakeTransformArgs","l":"getHttpRequest()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5WebsocketHandshakeTransformArgs","l":"getHttpRequest()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getHttpRequest()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting","l":"getId()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getIdealConcurrentStreamsPerConnection()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"getIdentity()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionOperationStatistics","l":"getIncompleteOperationCount()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOperationStatistics","l":"getIncompleteOperationCount()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionOperationStatistics","l":"getIncompleteOperationSize()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOperationStatistics","l":"getIncompleteOperationSize()"},{"p":"software.amazon.awssdk.crt.io","c":"StandardRetryOptions","l":"getInitialBucketCapacity()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getInitialReadWindowSize()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getInitialSettingsList()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"getInput()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"getIsConnected()"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"getJitterMode()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"getKeepAliveIntervalSec()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getKeepAliveIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"getKeepAliveMaxFailedProbes()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getKeepAliveMs()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getKeepAliveSecs()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"getKeepAliveTimeoutSec()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpManagerMetrics","l":"getLeasedConcurrency()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBodyStream","l":"getLength()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getLifecycleEvents()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"getLogins()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"getManagerMetrics()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"getManagerMetrics()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"getMaxConcurrentStreamsPerConnection()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getMaxConnectionIdleInMilliseconds()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"getMaxConnections()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"getMaxConnections()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getMaxConnections()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getMaxConnections()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getMaximumPacketSize()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getMaximumPacketSizeBytes()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getMaximumPacketSizeToServer()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getMaximumQOS()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getMaximumQOS()"},{"p":"software.amazon.awssdk.crt","c":"Process","l":"getMaxIOHandlesHardLimit()"},{"p":"software.amazon.awssdk.crt","c":"Process","l":"getMaxIOHandlesSoftLimit()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getMaxPendingConnectionAcquisitions()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getMaxReconnectDelayMs()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getMaxReconnectTimeoutSecs()"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"getMaxRetries()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getMemoryLimitInBytes()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Message","l":"getMessageBuffer()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getMessageExpiryIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getMetaRequestType()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequest","l":"getMethod()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getMinConnectedTimeToResetReconnectDelayMs()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getMinReconnectDelayMs()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getMinReconnectTimeoutSecs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpMonitoringOptions","l":"getMinThroughputBytesPerSecond()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getMonitoringOptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getMonitoringOptions()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getMqtt5Client()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getMqttClient()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5WebsocketHandshakeTransformArgs","l":"getMqttClient()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"WebsocketHandshakeTransformArgs","l":"getMqttClientConnection()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getMultiPartUploadThreshold()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getName()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"getName()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"getNameBytes()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"getNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"getNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"getNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"getNativeHandle()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"getNativeValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"OnConnectionSuccessReturn","l":"getNegotiatedSettings()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.Subscription","l":"getNoLocal()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"getNumPartsCompleted()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getObjectSizeHint()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getOfflineQueueBehavior()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getOmitSessionToken()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"getOperationHandler()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getOperationName()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"getOperationStatistics()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"getOperationStatistics()"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"getOrCreateStaticDefault()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"getOSIdentifier()"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"getOSIdentifier()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"getPartSize()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getPartSize()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getPassword()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getPassword()"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"getPath()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"getPayload()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getPayload()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getPayloadFormat()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpManagerMetrics","l":"getPendingConcurrencyAcquires()"},{"p":"software.amazon.awssdk.crt","c":"Process","l":"getPid()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getPingTimeoutMs()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getPingTimeoutMs()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"getPlatformImpl()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getPort()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getPort()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getPort()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getPort()"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo","l":"getProcessorCount()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getProtocolOperationTimeoutMs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getProxyOptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getProxyOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getPublishEvents()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishReturn","l":"getPublishPacket()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"getQos()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getQOS()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.Subscription","l":"getQOS()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getReadBackpressureEnabled()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getReasonCode()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket","l":"getReasonCode()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket","l":"getReasonCode()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket","l":"getReasonCodes()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket","l":"getReasonCodes()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getReasonString()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket","l":"getReasonString()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket","l":"getReasonString()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket","l":"getReasonString()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket","l":"getReasonString()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getReceiveEndTimestampNs()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getReceiveMaximum()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getReceiveMaximum()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getReceiveMaximumFromServer()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getReceiveStartTimestampNs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getReceivingDurationNs()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getRegion()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getRegion()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProperties","l":"getRegion()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getRejoinedSession()"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"getRelativePath()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getRequestFilePath()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getRequestProblemInformation()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getRequestResponseInformation()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"getResourceLogDescription()"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"getResourcePath(String, String)","u":"getResourcePath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResponseFileDeleteOnFailure()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResponseFileOption()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResponseFilePath()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResponseFilePosition()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResponseHandler()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getResponseInformation()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"getResponseStatus()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"getResponseStatusCode()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getResponseTopic()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult","l":"getResultPubAck()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getResumeToken()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"getRetain()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getRetain()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.Subscription","l":"getRetainAsPublished()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getRetainAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getRetainAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.Subscription","l":"getRetainHandlingType()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getRetryJitterMode()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProviderHandler","l":"getS3ExpressCredentials(S3ExpressCredentialsProperties, Credentials)","u":"getS3ExpressCredentials(software.amazon.awssdk.crt.s3.S3ExpressCredentialsProperties,software.amazon.awssdk.crt.auth.credentials.Credentials)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProvider","l":"getS3ExpressCredentials(S3ExpressCredentialsProperties, Credentials, long)","u":"getS3ExpressCredentials(software.amazon.awssdk.crt.s3.S3ExpressCredentialsProperties,software.amazon.awssdk.crt.auth.credentials.Credentials,long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getS3ExpressCredentialsProviderFactory()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"getSecretAccessKey()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getSendEndTimestampNs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getSendingDurationNs()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getSendStartTimestampNs()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getServerKeepAlive()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getServerKeepAlive()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getServerKeepAliveSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getServerKeepAliveSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getServerReference()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket","l":"getServerReference()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getService()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getSessionBehavior()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getSessionExpiryInterval()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getSessionExpiryInterval()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getSessionExpiryIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getSessionExpiryIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getSessionExpiryIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket","l":"getSessionExpiryIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"OnConnectionSuccessReturn","l":"getSessionPresent()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getSessionPresent()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"Credentials","l":"getSessionToken()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getSharedSubscriptionsAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getSharedSubscriptionsAvailable()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getShouldNormalizeUriPath()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getShouldSignHeader()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CredentialsProvider","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListener","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3Client","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"getShutdownCompleteFuture()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningResult","l":"getSignature()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"getSignatureAlgorithm()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getSignatureType()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getSignedBodyHeader()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getSignedBodyValue()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningResult","l":"getSignedRequest()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getSigningConfig()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getSigningConfig()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getSocketOptions()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getSocketOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getSocketOptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getStandardRetryOptions()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"getStreamId()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket","l":"getSubscriptionIdentifier()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getSubscriptionIdentifiers()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getSubscriptionIdentifiersAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getSubscriptionIdentifiersAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket","l":"getSubscriptions()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket","l":"getSubscriptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getTcpKeepAliveOptions()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getThroughputTargetGbps()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getTime()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getTlsConnectionOptions()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"getTlsConnectionOptions()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getTlsContext()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"getTlsContext()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"getTlsContext()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getTlsContext()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"getTlsContext()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"getTopic()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getTopic()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getTopicAlias()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getTopicAliasingOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getTopicAliasMaximum()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getTopicAliasMaximumToClient()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getTopicAliasMaximumToServer()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.Subscription","l":"getTopicFilter()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getTotalByteLength()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"getTotalNumParts()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"getType()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult","l":"getType()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"getType()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionOperationStatistics","l":"getUnackedOperationCount()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOperationStatistics","l":"getUnackedOperationCount()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionOperationStatistics","l":"getUnackedOperationSize()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOperationStatistics","l":"getUnackedOperationSize()"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"getUploadId()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"getUri()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getUri()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"getUseDoubleUriEncode()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getUsername()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getUsername()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket","l":"getUserProperties()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getUseWebsockets()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"getValidateChecksum()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"getValidateChecksum()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"getValidateChecksumAlgorithmList()"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"getValue()"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyAuthorizationType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"getValue()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"getValue()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"getValue()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsBoolean()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsByte()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsBytes()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsInt()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsLong()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsShort()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsString()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsTimestamp()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"getValueAsUUID()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"getValueBytes()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"getValueFromInt(int)"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"getVersion()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"getVersion()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getWebsocketHandshakeTransform()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"getWebsocketHandshakeTransform()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getWebsocketProxyOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"getWildcardSubscriptionsAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket","l":"getWildcardSubscriptionsAvailable()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getWill()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket","l":"getWillDelayIntervalSeconds()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getWillMessage()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getWillQos()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"getWillRetain()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"getWindowSize()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"getWindowSize()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"getWireBytesOverhead()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"getWrapper()"},{"p":"software.amazon.awssdk.crt.internal","c":"GraalVMNativeFeature","l":"GraalVMNativeFeature()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"GRANTED_QOS_0"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"GRANTED_QOS_1"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"GRANTED_QOS_2"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"hashCode()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"hasPriorKnowledge()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"HEADER"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"HEADER_TABLE_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"headers"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"headerTableSize(long)"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"HostResolver(EventLoopGroup)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.EventLoopGroup)"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"HostResolver(EventLoopGroup, int)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.EventLoopGroup,int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"HTTP_1_0"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"HTTP_1_1"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"HTTP_1_1_REQUIRED"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"HTTP_2"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"HTTP_REQUEST_CHUNK"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"HTTP_REQUEST_EVENT"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"HTTP_REQUEST_TRAILING_HEADERS"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"HTTP_REQUEST_VIA_HEADERS"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"HTTP_REQUEST_VIA_QUERY_PARAMS"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"Http2ClientConnection(long)","u":"%3Cinit%3E(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting","l":"Http2ConnectionSetting(Http2ConnectionSetting.ID, long)","u":"%3Cinit%3E(software.amazon.awssdk.crt.http.Http2ConnectionSetting.ID,long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"Http2ConnectionSettingListBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2Request","l":"Http2Request()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2Request","l":"Http2Request(HttpHeader[], HttpRequestBodyStream)","u":"%3Cinit%3E(software.amazon.awssdk.crt.http.HttpHeader[],software.amazon.awssdk.crt.http.HttpRequestBodyStream)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2Stream","l":"Http2Stream(long)","u":"%3Cinit%3E(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"Http2StreamManagerOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"HttpClientConnection(long)","u":"%3Cinit%3E(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"HttpClientConnectionManagerOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpConnection"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpConnectionManager"},{"p":"software.amazon.awssdk.crt.http","c":"HttpException","l":"HttpException(int)","u":"%3Cinit%3E(int)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpGeneral"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"HttpHeader(byte[], byte[])","u":"%3Cinit%3E(byte[],byte[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"HttpHeader(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpMonitoringOptions","l":"HttpMonitoringOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"HttpProxyEnvironmentVariableSetting()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"HttpProxyOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequest","l":"HttpRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequest","l":"HttpRequest(String, String, HttpHeader[], HttpRequestBodyStream)","u":"%3Cinit%3E(java.lang.String,java.lang.String,software.amazon.awssdk.crt.http.HttpHeader[],software.amazon.awssdk.crt.http.HttpRequestBodyStream)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"HttpRequestBase()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"HttpRequestBase(HttpHeader[], HttpRequestBodyStream)","u":"%3Cinit%3E(software.amazon.awssdk.crt.http.HttpHeader[],software.amazon.awssdk.crt.http.HttpRequestBodyStream)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpServer"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpStream"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStream","l":"HttpStream(long)","u":"%3Cinit%3E(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"HttpStreamBase(long)","u":"%3Cinit%3E(long)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpWebsocket"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"HttpWebsocketSetup"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoLoginTokenPair","l":"identityProviderName"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoLoginTokenPair","l":"identityProviderToken"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"IMPLEMENTATION_SPECIFIC_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"IMPLEMENTATION_SPECIFIC_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"IMPLEMENTATION_SPECIFIC_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"IMPLEMENTATION_SPECIFIC_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"IMPLEMENTATION_SPECIFIC_ERROR"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"INADEQUATE_SECURITY"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"incrementReadWindow(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"incrementWindow(int)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Info"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"INFORMATIONAL"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"INITIAL_WINDOW_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"initialWindowSize(long)"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"initLoggingFromSystemProperties()"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"initLoggingToFile(Log.LogLevel, String)","u":"initLoggingToFile(software.amazon.awssdk.crt.Log.LogLevel,java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"initLoggingToStderr(Log.LogLevel)","u":"initLoggingToStderr(software.amazon.awssdk.crt.Log.LogLevel)"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"initLoggingToStdout(Log.LogLevel)","u":"initLoggingToStdout(software.amazon.awssdk.crt.Log.LogLevel)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"initMtls(String, String)","u":"initMtls(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"initMtlsFromPath(String, String)","u":"initMtlsFromPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"initMtlsPkcs12(String, String)","u":"initMtlsPkcs12(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"Int16"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"Int32"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"Int64"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"INTERNAL_ERROR"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoAlpn"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoChannel"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoChannelBootstrap"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoDns"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoEventLoop"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoFileUtils"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoGeneral"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoPki"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoSharedLibrary"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoSocket"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoSocketHandler"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"IoTls"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketDomain","l":"IPv4"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketDomain","l":"IPv6"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"isAlpnSupported()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3FinishedResponseContext","l":"isChecksumValidated()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"isCipherPreferenceSupported(TlsCipherPreference)","u":"isCipherPreferenceSupported(software.amazon.awssdk.crt.io.TlsCipherPreference)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuation","l":"isClosed()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"isConnectionManualWindowManagement()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"isConnectionOpen()"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"isDirectory()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"isErrorRetryable(HttpException)","u":"isErrorRetryable(software.amazon.awssdk.crt.http.HttpException)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"isFile()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"isFIPS()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"isManualWindowManagement()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"isNull()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"isOpen()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"isOpen()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"isSupported()"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo.CpuInfo","l":"isSuspectedHyperThread"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"isSymLink()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"isVariableLength()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"JavaAndroidKeychain"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"JavaCrtGeneral"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"JavaCrtResource"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"JavaCrtS3"},{"p":"software.amazon.awssdk.crt.utils","c":"StringUtils","l":"join(CharSequence, Iterable extends CharSequence>)","u":"join(java.lang.CharSequence,java.lang.Iterable)"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"jvmInit()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"KEEP_ALIVE_TIMEOUT"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"keepAlive"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"keepAliveIntervalSecs"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"keepAliveMaxFailedProbes"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"keepAliveTimeoutSecs"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UserProperty","l":"key"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"Legacy"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"loadHeadersFromMarshalledHeadersBlob(ByteBuffer)","u":"loadHeadersFromMarshalledHeadersBlob(java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"loadHeadersListFromMarshalledHeadersBlob(ByteBuffer)","u":"loadHeadersListFromMarshalledHeadersBlob(java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketDomain","l":"LOCAL"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"location()"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"Log()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"Log","l":"log(Log.LogLevel, Log.LogSubject, String)","u":"log(software.amazon.awssdk.crt.Log.LogLevel,software.amazon.awssdk.crt.Log.LogSubject,java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"logNativeResources()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"logNativeResources(Log.LogLevel)","u":"logNativeResources(software.amazon.awssdk.crt.Log.LogLevel)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"LRU"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"MAIN"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"major"},{"p":"software.amazon.awssdk.crt.s3","c":"S3Client","l":"makeMetaRequest(S3MetaRequestOptions)","u":"makeMetaRequest(software.amazon.awssdk.crt.s3.S3MetaRequestOptions)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"makeRequest(HttpRequest, HttpStreamResponseHandler)","u":"makeRequest(software.amazon.awssdk.crt.http.HttpRequest,software.amazon.awssdk.crt.http.HttpStreamResponseHandler)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"makeRequest(HttpRequestBase, HttpStreamBaseResponseHandler)","u":"makeRequest(software.amazon.awssdk.crt.http.HttpRequestBase,software.amazon.awssdk.crt.http.HttpStreamBaseResponseHandler)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"makeRequest(HttpRequestBase, HttpStreamBaseResponseHandler)","u":"makeRequest(software.amazon.awssdk.crt.http.HttpRequestBase,software.amazon.awssdk.crt.http.HttpStreamBaseResponseHandler)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"MALFORMED_PACKET"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"MALFORMED_PACKET"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"Manual"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"marshalHeadersForJni(List)","u":"marshalHeadersForJni(java.util.List)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"MAX_CONCURRENT_STREAMS"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"MAX_FRAME_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"MAX_HEADER_LIST_SIZE"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"maxConcurrentStreams(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"maxFrameSize(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSettingListBuilder","l":"maxHeaderListSize(long)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"MAXIMUM_CONNECT_TIME"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"MESSAGE_RATE_TOO_HIGH"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Message","l":"Message(List, byte[])","u":"%3Cinit%3E(java.util.List,byte[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"method"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"minor"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"minTlsVersion"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"Mqtt5Client(Mqtt5ClientOptions)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOperationStatistics","l":"Mqtt5ClientOperationStatistics()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions","l":"Mqtt5ClientOptions(Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"Mqtt5ClientOptionsBuilder(String, Long)","u":"%3Cinit%3E(java.lang.String,java.lang.Long)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5WebsocketHandshakeTransformArgs","l":"Mqtt5WebsocketHandshakeTransformArgs(Mqtt5Client, HttpRequest, CompletableFuture)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.http.HttpRequest,java.util.concurrent.CompletableFuture)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"MqttClient"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"MqttClient()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"MqttClient(ClientBootstrap)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"MqttClient(ClientBootstrap, TlsContext)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.ClientBootstrap,software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"MqttClient(TlsContext)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"MqttClientConnection(Mqtt5Client, MqttClientConnectionEvents)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt.MqttClientConnectionEvents)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"MqttClientConnection(MqttConnectionConfig)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt.MqttConnectionConfig)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionOperationStatistics","l":"MqttClientConnectionOperationStatistics()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"MqttConnectionConfig()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttException","l":"MqttException(int)","u":"%3Cinit%3E(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttException","l":"MqttException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"MqttGeneral"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"MqttMessage(String, byte[])","u":"%3Cinit%3E(java.lang.String,byte[])"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"MqttMessage(String, byte[], QualityOfService)","u":"%3Cinit%3E(java.lang.String,byte[],software.amazon.awssdk.crt.mqtt.QualityOfService)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"MqttMessage(String, byte[], QualityOfService, boolean)","u":"%3Cinit%3E(java.lang.String,byte[],software.amazon.awssdk.crt.mqtt.QualityOfService,boolean)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttMessage","l":"MqttMessage(String, byte[], QualityOfService, boolean, boolean)","u":"%3Cinit%3E(java.lang.String,byte[],software.amazon.awssdk.crt.mqtt.QualityOfService,boolean,boolean)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"MqttTopicTree"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"nativeHandle"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"nativeMemory()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"NegotiatedSettings","l":"NegotiatedSettings()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair","l":"newDeriveFromCredentials(Credentials, EccKeyPair.AwsEccCurve)","u":"newDeriveFromCredentials(software.amazon.awssdk.crt.auth.credentials.Credentials,software.amazon.awssdk.crt.cal.EccKeyPair.AwsEccCurve)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"newStream(ClientConnectionContinuationHandler)","u":"newStream(software.amazon.awssdk.crt.eventstream.ClientConnectionContinuationHandler)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"NO_MATCHING_SUBSCRIBERS"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"NO_SUBSCRIPTION_EXISTED"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyAuthorizationType","l":"None"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"None"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"None"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"NONE"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"NONE"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"NONE"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"NONE"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"NONE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"NORMAL_DISCONNECTION"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"NOT_AUTHORIZED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"NOT_AUTHORIZED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"NOT_AUTHORIZED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"NOT_AUTHORIZED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"NOT_AUTHORIZED"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib.InitializeFinalizeBehavior","l":"OMIT"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.LifecycleEvents","l":"onAttemptingConnect(Mqtt5Client, OnAttemptingConnectReturn)","u":"onAttemptingConnect(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.OnAttemptingConnectReturn)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlushCallback","l":"onCallbackInvoked(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStream.HttpStreamWriteChunkCompletionCallback","l":"onChunkCompleted(int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"onConnectionClosed(int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"onConnectionClosed(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionEvents","l":"onConnectionClosed(OnConnectionClosedReturn)","u":"onConnectionClosed(software.amazon.awssdk.crt.mqtt.OnConnectionClosedReturn)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"OnConnectionClosedReturn","l":"OnConnectionClosedReturn()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.LifecycleEvents","l":"onConnectionFailure(Mqtt5Client, OnConnectionFailureReturn)","u":"onConnectionFailure(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.OnConnectionFailureReturn)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionEvents","l":"onConnectionFailure(OnConnectionFailureReturn)","u":"onConnectionFailure(software.amazon.awssdk.crt.mqtt.OnConnectionFailureReturn)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"OnConnectionFailureReturn","l":"OnConnectionFailureReturn(int)","u":"%3Cinit%3E(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionEvents","l":"onConnectionInterrupted(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionEvents","l":"onConnectionResumed(boolean)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"onConnectionSetup(ClientConnection, int)","u":"onConnectionSetup(software.amazon.awssdk.crt.eventstream.ClientConnection,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListenerHandler","l":"onConnectionShutdown(ServerConnection, int)","u":"onConnectionShutdown(software.amazon.awssdk.crt.eventstream.ServerConnection,int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.LifecycleEvents","l":"onConnectionSuccess(Mqtt5Client, OnConnectionSuccessReturn)","u":"onConnectionSuccess(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.OnConnectionSuccessReturn)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnectionEvents","l":"onConnectionSuccess(OnConnectionSuccessReturn)","u":"onConnectionSuccess(software.amazon.awssdk.crt.mqtt.OnConnectionSuccessReturn)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"OnConnectionSuccessReturn","l":"OnConnectionSuccessReturn(boolean)","u":"%3Cinit%3E(boolean)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"OperationRoutingServerConnectionHandler","l":"onConnectRequest(List, byte[])","u":"onConnectRequest(java.util.List,byte[])"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"onContinuationClosed()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"onContinuationClosed()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuationHandler","l":"onContinuationMessage(List, byte[], MessageType, int)","u":"onContinuationMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"onContinuationMessage(List, byte[], MessageType, int)","u":"onContinuationMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryTraversalHandler","l":"onDirectoryEntry(DirectoryEntry)","u":"onDirectoryEntry(software.amazon.awssdk.crt.io.DirectoryEntry)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.LifecycleEvents","l":"onDisconnection(Mqtt5Client, OnDisconnectionReturn)","u":"onDisconnection(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.OnDisconnectionReturn)"},{"p":"software.amazon.awssdk.crt","c":"AsyncCallback","l":"onFailure(Throwable)","u":"onFailure(java.lang.Throwable)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestResponseHandler","l":"onFinished(S3FinishedResponseContext)","u":"onFinished(software.amazon.awssdk.crt.s3.S3FinishedResponseContext)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"OperationRoutingServerConnectionHandler","l":"onIncomingStream(ServerConnectionContinuation, String)","u":"onIncomingStream(software.amazon.awssdk.crt.eventstream.ServerConnectionContinuation,java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"onIncomingStream(ServerConnectionContinuation, String)","u":"onIncomingStream(software.amazon.awssdk.crt.eventstream.ServerConnectionContinuation,java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"onMessage(Consumer)","u":"onMessage(java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.PublishEvents","l":"onMessageReceived(Mqtt5Client, PublishReturn)","u":"onMessageReceived(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.PublishReturn)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamResponseHandler","l":"onMetrics(HttpStream, HttpStreamMetrics)","u":"onMetrics(software.amazon.awssdk.crt.http.HttpStream,software.amazon.awssdk.crt.http.HttpStreamMetrics)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBaseResponseHandler","l":"onMetrics(HttpStreamBase, HttpStreamMetrics)","u":"onMetrics(software.amazon.awssdk.crt.http.HttpStreamBase,software.amazon.awssdk.crt.http.HttpStreamMetrics)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListenerHandler","l":"onNewConnection(ServerConnection, int)","u":"onNewConnection(software.amazon.awssdk.crt.eventstream.ServerConnection,int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestResponseHandler","l":"onProgress(S3MetaRequestProgress)","u":"onProgress(software.amazon.awssdk.crt.s3.S3MetaRequestProgress)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionHandler","l":"onProtocolMessage(List, byte[], MessageType, int)","u":"onProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"OperationRoutingServerConnectionHandler","l":"onProtocolMessage(List, byte[], MessageType, int)","u":"onProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"onProtocolMessage(List, byte[], MessageType, int)","u":"onProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestResponseHandler","l":"onResponseBody(ByteBuffer, long, long)","u":"onResponseBody(java.nio.ByteBuffer,long,long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamResponseHandler","l":"onResponseBody(HttpStream, byte[])","u":"onResponseBody(software.amazon.awssdk.crt.http.HttpStream,byte[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBaseResponseHandler","l":"onResponseBody(HttpStreamBase, byte[])","u":"onResponseBody(software.amazon.awssdk.crt.http.HttpStreamBase,byte[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamResponseHandler","l":"onResponseComplete(HttpStream, int)","u":"onResponseComplete(software.amazon.awssdk.crt.http.HttpStream,int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBaseResponseHandler","l":"onResponseComplete(HttpStreamBase, int)","u":"onResponseComplete(software.amazon.awssdk.crt.http.HttpStreamBase,int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamResponseHandler","l":"onResponseHeaders(HttpStream, int, int, HttpHeader[])","u":"onResponseHeaders(software.amazon.awssdk.crt.http.HttpStream,int,int,software.amazon.awssdk.crt.http.HttpHeader[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBaseResponseHandler","l":"onResponseHeaders(HttpStreamBase, int, int, HttpHeader[])","u":"onResponseHeaders(software.amazon.awssdk.crt.http.HttpStreamBase,int,int,software.amazon.awssdk.crt.http.HttpHeader[])"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestResponseHandler","l":"onResponseHeaders(int, HttpHeader[])","u":"onResponseHeaders(int,software.amazon.awssdk.crt.http.HttpHeader[])"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamResponseHandler","l":"onResponseHeadersDone(HttpStream, int)","u":"onResponseHeadersDone(software.amazon.awssdk.crt.http.HttpStream,int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBaseResponseHandler","l":"onResponseHeadersDone(HttpStreamBase, int)","u":"onResponseHeadersDone(software.amazon.awssdk.crt.http.HttpStreamBase,int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.LifecycleEvents","l":"onStopped(Mqtt5Client, OnStoppedReturn)","u":"onStopped(software.amazon.awssdk.crt.mqtt5.Mqtt5Client,software.amazon.awssdk.crt.mqtt5.OnStoppedReturn)"},{"p":"software.amazon.awssdk.crt","c":"AsyncCallback","l":"onSuccess()"},{"p":"software.amazon.awssdk.crt","c":"AsyncCallback","l":"onSuccess(Object)","u":"onSuccess(java.lang.Object)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"OperationRoutingServerConnectionHandler","l":"OperationRoutingServerConnectionHandler(ServerConnection, Map>)","u":"%3Cinit%3E(software.amazon.awssdk.crt.eventstream.ServerConnection,java.util.Map)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"overrideDefaultTrustStore(String)","u":"overrideDefaultTrustStore(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"overrideDefaultTrustStoreFromPath(String, String)","u":"overrideDefaultTrustStoreFromPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo","l":"PackageInfo()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"PACKET_IDENTIFIER_IN_USE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"PACKET_IDENTIFIER_IN_USE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"PACKET_IDENTIFIER_IN_USE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"PACKET_TOO_LARGE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"PACKET_TOO_LARGE"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"patch"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"pause()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"PAYLOAD_FORMAT_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"PAYLOAD_FORMAT_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"PAYLOAD_FORMAT_INVALID"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperationHandler","l":"performOperation(TlsKeyOperation)","u":"performOperation(software.amazon.awssdk.crt.io.TlsKeyOperation)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"Ping"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"PingResponse"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib","l":"Pkcs11Lib(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib","l":"Pkcs11Lib(String, Pkcs11Lib.InitializeFinalizeBehavior)","u":"%3Cinit%3E(java.lang.String,software.amazon.awssdk.crt.io.Pkcs11Lib.InitializeFinalizeBehavior)"},{"p":"software.amazon.awssdk.crt","c":"Process","l":"Process()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"PROTOCOL_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"PROTOCOL_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"PROTOCOL_ERROR"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"ProtocolError"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"PUBACK"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"publish(MqttMessage)","u":"publish(software.amazon.awssdk.crt.mqtt.MqttMessage)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"publish(MqttMessage, QualityOfService, boolean)","u":"publish(software.amazon.awssdk.crt.mqtt.MqttMessage,software.amazon.awssdk.crt.mqtt.QualityOfService,boolean)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"publish(PublishPacket)","u":"publish(software.amazon.awssdk.crt.mqtt5.packets.PublishPacket)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"PublishPacketBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"PublishPacketBuilder(String, QOS, byte[])","u":"%3Cinit%3E(java.lang.String,software.amazon.awssdk.crt.mqtt5.QOS,byte[])"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"PUT_OBJECT"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"PutResumeTokenBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"QOS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"QOS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"QUOTA_EXCEEDED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"QUOTA_EXCEEDED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"QUOTA_EXCEEDED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"QUOTA_EXCEEDED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"RECEIVE_MAXIMUM_EXCEEDED"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"REFUSED_STREAM"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"REJOIN_ALWAYS"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"REJOIN_POST_SUCCESS"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"releaseConnection(HttpClientConnection)","u":"releaseConnection(software.amazon.awssdk.crt.http.HttpClientConnection)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CredentialsProvider","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Message","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuation","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListener","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManager","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManager","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamBase","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"ClientBootstrap","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"ServerBootstrap","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContext","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClient","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3Client","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"releaseNativeHandle()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"releaseReferences()"},{"p":"software.amazon.awssdk.crt","c":"CRT","l":"releaseShutdownRef()"},{"p":"software.amazon.awssdk.crt.utils","c":"PemUtils","l":"removeInvalidPemChars(String)","u":"removeInvalidPemChars(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"removeReferenceTo(CrtResource)","u":"removeReferenceTo(software.amazon.awssdk.crt.CrtResource)"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"reset()"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"reset()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBodyStream","l":"resetPosition()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2Stream","l":"resetStream(Http2ClientConnection.Http2ErrorCode)","u":"resetStream(software.amazon.awssdk.crt.http.Http2ClientConnection.Http2ErrorCode)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"ResourceInstance(CrtResource, String)","u":"%3Cinit%3E(software.amazon.awssdk.crt.CrtResource,java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken","l":"ResumeToken(ResumeToken.PutResumeTokenBuilder)","u":"%3Cinit%3E(software.amazon.awssdk.crt.s3.ResumeToken.PutResumeTokenBuilder)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"RETAIN_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"RETAIN_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"RSA"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"S3Client"},{"p":"software.amazon.awssdk.crt.s3","c":"S3Client","l":"S3Client(S3ClientOptions)","u":"%3Cinit%3E(software.amazon.awssdk.crt.s3.S3ClientOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"S3ClientOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProperties","l":"S3ExpressCredentialsProperties()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProvider","l":"S3ExpressCredentialsProvider(S3ExpressCredentialsProviderHandler)","u":"%3Cinit%3E(software.amazon.awssdk.crt.s3.S3ExpressCredentialsProviderHandler)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequest","l":"S3MetaRequest()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"S3MetaRequestOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestProgress","l":"S3MetaRequestProgress()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"S3TcpKeepAliveOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.utils","c":"PemUtils","l":"safeSanityCheck(String, int, String)","u":"safeSanityCheck(java.lang.String,int,java.lang.String)"},{"p":"software.amazon.awssdk.crt.utils","c":"PemUtils","l":"sanityCheck(String, int, String)","u":"sanityCheck(java.lang.String,int,java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"SEND_ON_SUBSCRIBE"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"SEND_ON_SUBSCRIBE_IF_NEW"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"sendGoAway(Http2ClientConnection.Http2ErrorCode, boolean)","u":"sendGoAway(software.amazon.awssdk.crt.http.Http2ClientConnection.Http2ErrorCode,boolean)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"sendGoAway(Http2ClientConnection.Http2ErrorCode, boolean, byte[])","u":"sendGoAway(software.amazon.awssdk.crt.http.Http2ClientConnection.Http2ErrorCode,boolean,byte[])"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"sendMessage(List, byte[], MessageType, int)","u":"sendMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuation","l":"sendMessage(List, byte[], MessageType, int)","u":"sendMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnectionContinuation","l":"sendMessage(List, byte[], MessageType, int, MessageFlushCallback)","u":"sendMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int,software.amazon.awssdk.crt.eventstream.MessageFlushCallback)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuation","l":"sendMessage(List, byte[], MessageType, int, MessageFlushCallback)","u":"sendMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int,software.amazon.awssdk.crt.eventstream.MessageFlushCallback)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"sendPing()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"sendPing(byte[])"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"sendProtocolMessage(List, byte[], MessageType, int)","u":"sendProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"sendProtocolMessage(List, byte[], MessageType, int)","u":"sendProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ClientConnection","l":"sendProtocolMessage(List, byte[], MessageType, int, MessageFlushCallback)","u":"sendProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int,software.amazon.awssdk.crt.eventstream.MessageFlushCallback)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnection","l":"sendProtocolMessage(List, byte[], MessageType, int, MessageFlushCallback)","u":"sendProtocolMessage(java.util.List,byte[],software.amazon.awssdk.crt.eventstream.MessageType,int,software.amazon.awssdk.crt.eventstream.MessageFlushCallback)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBodyStream","l":"sendRequestBody(ByteBuffer)","u":"sendRequestBody(java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"SERVER_BUSY"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SERVER_BUSY"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"SERVER_MOVED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SERVER_MOVED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SERVER_SHUTTING_DOWN"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"SERVER_UNAVAILABLE"},{"p":"software.amazon.awssdk.crt.io","c":"ServerBootstrap","l":"ServerBootstrap(EventLoopGroup)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.EventLoopGroup)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionContinuationHandler","l":"ServerConnectionContinuationHandler(ServerConnectionContinuation)","u":"%3Cinit%3E(software.amazon.awssdk.crt.eventstream.ServerConnectionContinuation)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerConnectionHandler","l":"ServerConnectionHandler(ServerConnection)","u":"%3Cinit%3E(software.amazon.awssdk.crt.eventstream.ServerConnection)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"ServerError"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListener","l":"ServerListener(String, int, SocketOptions, ServerTlsContext, ServerBootstrap, ServerListenerHandler)","u":"%3Cinit%3E(java.lang.String,int,software.amazon.awssdk.crt.io.SocketOptions,software.amazon.awssdk.crt.io.ServerTlsContext,software.amazon.awssdk.crt.io.ServerBootstrap,software.amazon.awssdk.crt.eventstream.ServerListenerHandler)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"ServerListenerHandler","l":"ServerListenerHandler()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"ServerTlsContext","l":"ServerTlsContext(TlsContextOptions)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsContextOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SESSION_TAKEN_OVER"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setAlgorithm(AwsSigningConfig.AwsSigningAlgorithm)","u":"setAlgorithm(software.amazon.awssdk.crt.auth.signing.AwsSigningConfig.AwsSigningAlgorithm)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpMonitoringOptions","l":"setAllowableThroughputFailureIntervalSeconds(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setAuthorizationPassword(String)","u":"setAuthorizationPassword(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setAuthorizationType(HttpProxyOptions.HttpProxyAuthorizationType)","u":"setAuthorizationType(software.amazon.awssdk.crt.http.HttpProxyOptions.HttpProxyAuthorizationType)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setAuthorizationUsername(String)","u":"setAuthorizationUsername(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"setCipherPreference(TlsCipherPreference)","u":"setCipherPreference(software.amazon.awssdk.crt.io.TlsCipherPreference)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setCleanSession(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setClientId(String)","u":"setClientId(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setConnectionCallbacks(MqttClientConnectionEvents)","u":"setConnectionCallbacks(software.amazon.awssdk.crt.mqtt.MqttClientConnectionEvents)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"setConnectionType(HttpProxyOptions.HttpProxyConnectionType)","u":"setConnectionType(software.amazon.awssdk.crt.http.HttpProxyOptions.HttpProxyConnectionType)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setConnectionType(HttpProxyOptions.HttpProxyConnectionType)","u":"setConnectionType(software.amazon.awssdk.crt.http.HttpProxyOptions.HttpProxyConnectionType)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setCredentials(Credentials)","u":"setCredentials(software.amazon.awssdk.crt.auth.credentials.Credentials)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setCredentialsProvider(CredentialsProvider)","u":"setCredentialsProvider(software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequest","l":"setEncodedPath(String)","u":"setEncodedPath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setEndpoint(String)","u":"setEndpoint(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"setEnvironmentVariableType(HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType)","u":"setEnvironmentVariableType(software.amazon.awssdk.crt.http.HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setExpirationInSeconds(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setHost(String)","u":"setHost(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setHttpProxyOptions(HttpProxyOptions)","u":"setHttpProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"setKeepAliveIntervalSec(short)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"setKeepAliveMaxFailedProbes(short)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setKeepAliveMs(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setKeepAliveSecs(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3TcpKeepAliveOptions","l":"setKeepAliveTimeoutSec(short)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setLogin(String, String)","u":"setLogin(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Process","l":"setMaxIOHandlesSoftLimit(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpMonitoringOptions","l":"setMinThroughputBytesPerSecond(long)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setMqtt5Client(Mqtt5Client)","u":"setMqtt5Client(software.amazon.awssdk.crt.mqtt5.Mqtt5Client)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setMqttClient(MqttClient)","u":"setMqttClient(software.amazon.awssdk.crt.mqtt.MqttClient)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"setNativeHandle(long)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setOmitSessionToken(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setPingTimeoutMs(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setPort(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setPort(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setProtocolOperationTimeoutMs(int)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setReconnectTimeoutSecs(long, long)","u":"setReconnectTimeoutSecs(long,long)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setRegion(String)","u":"setRegion(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setService(String)","u":"setService(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setShouldNormalizeUriPath(boolean)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setShouldSignHeader(Predicate)","u":"setShouldSignHeader(java.util.function.Predicate)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setSignatureType(AwsSigningConfig.AwsSignatureType)","u":"setSignatureType(software.amazon.awssdk.crt.auth.signing.AwsSigningConfig.AwsSignatureType)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setSignedBodyHeader(AwsSigningConfig.AwsSignedBodyHeaderType)","u":"setSignedBodyHeader(software.amazon.awssdk.crt.auth.signing.AwsSigningConfig.AwsSignedBodyHeaderType)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setSignedBodyValue(String)","u":"setSignedBodyValue(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setSocketOptions(SocketOptions)","u":"setSocketOptions(software.amazon.awssdk.crt.io.SocketOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"HostResolver","l":"setStaticDefaultMaxEntries(int)"},{"p":"software.amazon.awssdk.crt.io","c":"EventLoopGroup","l":"setStaticDefaultNumThreads(int)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"setTcpKeepAlive(int, int)","u":"setTcpKeepAlive(int,int)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"setTcpKeepAlive(int, int, int)","u":"setTcpKeepAlive(int,int,int)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setTime(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"SETTINGS_TIMEOUT"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting","l":"setTlsConnectionOptions(TlsConnectionOptions)","u":"setTlsConnectionOptions(software.amazon.awssdk.crt.io.TlsConnectionOptions)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions","l":"setTlsContext(TlsContext)","u":"setTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"setupOnce()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig","l":"setUseDoubleUriEncode(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setUseWebsockets(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setWebsocketHandshakeTransform(Consumer)","u":"setWebsocketHandshakeTransform(java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setWebsocketProxyOptions(HttpProxyOptions)","u":"setWebsocketProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setWillMessage(MqttMessage)","u":"setWillMessage(software.amazon.awssdk.crt.mqtt.MqttMessage)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setWillQos(QualityOfService)","u":"setWillQos(software.amazon.awssdk.crt.mqtt.QualityOfService)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttConnectionConfig","l":"setWillRetain(boolean)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"SHA1"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"SHA1"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"SHA224"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"SHA256"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"SHA256"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"SHA384"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"SHA512"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SHARED_SUBSCRIPTIONS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"SHARED_SUBSCRIPTIONS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"shouldCloseConnectionOnServerError()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnection","l":"shutdown()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"SIGN"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"sign(HttpRequest, AwsSigningConfig)","u":"sign(software.amazon.awssdk.crt.http.HttpRequest,software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"sign(HttpRequestBodyStream, byte[], AwsSigningConfig)","u":"sign(software.amazon.awssdk.crt.http.HttpRequestBodyStream,byte[],software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"sign(List, byte[], AwsSigningConfig)","u":"sign(java.util.List,byte[],software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"signChunk(HttpRequestBodyStream, byte[], AwsSigningConfig)","u":"signChunk(software.amazon.awssdk.crt.http.HttpRequestBodyStream,byte[],software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair","l":"signMessage(byte[])"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigner","l":"signRequest(HttpRequest, AwsSigningConfig)","u":"signRequest(software.amazon.awssdk.crt.http.HttpRequest,software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"SIGV4"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"SIGV4_ASYMMETRIC"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"SIGV4_S3EXPRESS"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"SocketOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"SSLv3"},{"p":"software.amazon.awssdk.crt.io","c":"StandardRetryOptions","l":"StandardRetryOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"start()"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"StaticCredentialsProviderBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"stop()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"stop(DisconnectPacket)","u":"stop(software.amazon.awssdk.crt.mqtt5.packets.DisconnectPacket)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketType","l":"STREAM"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"STREAM_CLOSED"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"STREAMING_AWS4_ECDSA_P256_SHA256_PAYLOAD"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"STREAMING_AWS4_ECDSA_P256_SHA256_PAYLOAD_TRAILER"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"STREAMING_AWS4_HMAC_SHA256_EVENTS"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"STREAMING_AWS4_HMAC_SHA256_PAYLOAD"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"STREAMING_UNSIGNED_PAYLOAD_TRAILER"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib.InitializeFinalizeBehavior","l":"STRICT"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"String"},{"p":"software.amazon.awssdk.crt.utils","c":"StringUtils","l":"StringUtils()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"subscribe(String, QualityOfService)","u":"subscribe(java.lang.String,software.amazon.awssdk.crt.mqtt.QualityOfService)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"subscribe(String, QualityOfService, Consumer)","u":"subscribe(java.lang.String,software.amazon.awssdk.crt.mqtt.QualityOfService,java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"subscribe(SubscribePacket)","u":"subscribe(software.amazon.awssdk.crt.mqtt5.packets.SubscribePacket)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"SubscribePacketBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"SubscribePacketBuilder(String, QOS)","u":"%3Cinit%3E(java.lang.String,software.amazon.awssdk.crt.mqtt5.QOS)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"SubscribePacketBuilder(SubscribePacket.Subscription)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt5.packets.SubscribePacket.Subscription)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"SUCCESS"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"SUCCESS"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"SUCCESS"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"swapReferenceTo(CrtResource, CrtResource)","u":"swapReferenceTo(software.amazon.awssdk.crt.CrtResource,software.amazon.awssdk.crt.CrtResource)"},{"p":"software.amazon.awssdk.crt","c":"SystemInfo","l":"SystemInfo()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"tag"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlags","l":"TerminateStream"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"testSetup(Object)","u":"testSetup(java.lang.Object)"},{"p":"software.amazon.awssdk.crt","c":"CrtPlatform","l":"testTearDown(Object)","u":"testTearDown(java.lang.Object)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"TimeStamp"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_KMS_PQ_TLSv1_0_2019_06"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_PREF_KMS_PQ_SIKE_TLSv1_0_2019_11"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_PREF_KMS_PQ_SIKE_TLSv1_0_2020_02"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_PREF_KMS_PQ_TLSv1_0_2020_02"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_PREF_KMS_PQ_TLSv1_0_2020_07"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"TLS_CIPHER_SYSTEM_DEFAULT"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"TLS_VER_SYS_DEFAULTS"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"tlsCipherPreference"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"TlsConnectionOptions(TlsContext)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContext","l":"TlsContext()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContext","l":"TlsContext(TlsContextOptions)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsContextOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"TlsContextCustomKeyOperationOptions(TlsKeyOperationHandler)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.TlsKeyOperationHandler)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContext","l":"tlsContextNew(long)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"TlsContextPkcs11Options(Pkcs11Lib)","u":"%3Cinit%3E(software.amazon.awssdk.crt.io.Pkcs11Lib)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation","l":"TlsKeyOperation(long, byte[], int, int, int)","u":"%3Cinit%3E(long,byte[],int,int,int)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"TLSv1"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"TLSv1_1"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"TLSv1_2"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"TLSv1_3"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"TOPIC_ALIAS_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"TOPIC_FILTER_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"TOPIC_FILTER_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"TOPIC_FILTER_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"TOPIC_NAME_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"TOPIC_NAME_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"TOPIC_NAME_INVALID"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions","l":"TopicAliasingOptions()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt","c":"CrtResource.ResourceInstance","l":"toString()"},{"p":"software.amazon.awssdk.crt","c":"CrtRuntimeException","l":"toString()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeader","l":"toString()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStreamMetrics","l":"toString()"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"toString()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Trace"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"TRAILER"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"TRAILING"},{"p":"software.amazon.awssdk.crt.utils","c":"ByteBufferUtils","l":"transferData(ByteBuffer, ByteBuffer)","u":"transferData(java.nio.ByteBuffer,java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryTraversal","l":"traverse(String, boolean, DirectoryTraversalHandler)","u":"traverse(java.lang.String,boolean,software.amazon.awssdk.crt.io.DirectoryTraversalHandler)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"Tunneling"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions","l":"type"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"UNKNOWN"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"UNKNOWN"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"UNKNOWN"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"UNKNOWN"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyValue","l":"UNSIGNED_PAYLOAD"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"UNSPECIFIED_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"UNSPECIFIED_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"UNSPECIFIED_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"UNSPECIFIED_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"UNSPECIFIED_ERROR"},{"p":"software.amazon.awssdk.crt.mqtt","c":"MqttClientConnection","l":"unsubscribe(String)","u":"unsubscribe(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5Client","l":"unsubscribe(UnsubscribePacket)","u":"unsubscribe(software.amazon.awssdk.crt.mqtt5.packets.UnsubscribePacket)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket.UnsubscribePacketBuilder","l":"UnsubscribePacketBuilder()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket.UnsubscribePacketBuilder","l":"UnsubscribePacketBuilder(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"UNSUPPORTED_PROTOCOL_VERSION"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"update(byte[])"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"update(byte[])"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"update(byte[], int, int)","u":"update(byte[],int,int)"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"update(byte[], int, int)","u":"update(byte[],int,int)"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32","l":"update(int)"},{"p":"software.amazon.awssdk.crt.checksums","c":"CRC32C","l":"update(int)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"updateConnectionWindow(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection","l":"updateSettings(List)","u":"updateSettings(java.util.List)"},{"p":"software.amazon.awssdk.crt.io","c":"Uri","l":"Uri()","u":"%3Cinit%3E()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"USE_ANOTHER_SERVER"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"USE_ANOTHER_SERVER"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UserProperty","l":"UserProperty(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"UTF8"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"UTF8"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"UUID"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"validateOptions()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"validateOptions()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UserProperty","l":"value"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlags","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyAuthorizationType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib.InitializeFinalizeBehavior","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketDomain","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignatureType","l":"values()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"values()"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSigningAlgorithm","l":"values()"},{"p":"software.amazon.awssdk.crt.cal","c":"EccKeyPair.AwsEccCurve","l":"values()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"HeaderType","l":"values()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageFlags","l":"values()"},{"p":"software.amazon.awssdk.crt.eventstream","c":"MessageType","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ClientConnection.Http2ErrorCode","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"Http2ConnectionSetting.ID","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpHeaderBlock","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyEnvironmentVariableSetting.HttpProxyEnvironmentVariableType","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyAuthorizationType","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpProxyOptions.HttpProxyConnectionType","l":"values()"},{"p":"software.amazon.awssdk.crt.http","c":"HttpVersion","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions.JitterMode","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"Pkcs11Lib.InitializeFinalizeBehavior","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketDomain","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"SocketOptions.SocketType","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsCipherPreference","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions.TlsVersions","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsHashAlgorithm","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsKeyOperation.Type","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsSignatureAlgorithm","l":"values()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"values()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogSubject","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt","c":"QualityOfService","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientOfflineQueueBehavior","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ClientSessionBehavior","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnAckPacket.ConnectReasonCode","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PubAckPacket.PubAckReasonCode","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PayloadFormatIndicator","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.RetainHandlingType","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubAckPacket.UnsubAckReasonCode","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"PublishResult.PublishResultType","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"QOS","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.InboundTopicAliasBehaviorType","l":"values()"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions.OutboundTopicAliasBehaviorType","l":"values()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumAlgorithm","l":"values()"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig.ChecksumLocation","l":"values()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.MetaRequestType","l":"values()"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"values()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"verifyPeer"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningUtils","l":"verifyRawSha256EcdsaSignature(byte[], byte[], String, String)","u":"verifyRawSha256EcdsaSignature(byte[],byte[],java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningUtils","l":"verifySigv4aEcdsaSignature(HttpRequest, String, AwsSigningConfig, byte[], String, String)","u":"verifySigv4aEcdsaSignature(software.amazon.awssdk.crt.http.HttpRequest,java.lang.String,software.amazon.awssdk.crt.auth.signing.AwsSigningConfig,byte[],java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpRequestBase","l":"version"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo","l":"version"},{"p":"software.amazon.awssdk.crt.utils","c":"PackageInfo.Version","l":"Version(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"software.amazon.awssdk.crt","c":"CrtResource","l":"waitForNoResources()"},{"p":"software.amazon.awssdk.crt","c":"Log.LogLevel","l":"Warn"},{"p":"software.amazon.awssdk.crt.mqtt","c":"WebsocketHandshakeTransformArgs","l":"WebsocketHandshakeTransformArgs(MqttClientConnection, HttpRequest, CompletableFuture)","u":"%3Cinit%3E(software.amazon.awssdk.crt.mqtt.MqttClientConnection,software.amazon.awssdk.crt.http.HttpRequest,java.util.concurrent.CompletableFuture)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectReasonCode","l":"WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubAckPacket.SubAckReasonCode","l":"WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"withAccessKeyId(byte[])"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withAckTimeoutSeconds(Long)","u":"withAckTimeoutSeconds(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"withAlpnList(String)","u":"withAlpnList(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withAlpnList(String)","u":"withAlpnList(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"withAuthToken(String)","u":"withAuthToken(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"StandardRetryOptions","l":"withBackoffRetryOptions(ExponentialBackoffRetryOptions)","u":"withBackoffRetryOptions(software.amazon.awssdk.crt.io.ExponentialBackoffRetryOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"withBackoffScaleFactorMS(long)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withBootstrap(ClientBootstrap)","u":"withBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withBufferSize(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestProgress","l":"withBytesTransferred(long)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CachedCredentialsProvider.CachedCredentialsProviderBuilder","l":"withCachedProvider(CredentialsProvider)","u":"withCachedProvider(software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CachedCredentialsProvider.CachedCredentialsProviderBuilder","l":"withCachingDurationInSeconds(int)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withCertificateAuthority(String)","u":"withCertificateAuthority(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withCertificateAuthorityFromPath(String, String)","u":"withCertificateAuthorityFromPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"withCertificateFileContents(String)","u":"withCertificateFileContents(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withCertificateFileContents(String)","u":"withCertificateFileContents(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextCustomKeyOperationOptions","l":"withCertificateFilePath(String)","u":"withCertificateFilePath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withCertificateFilePath(String)","u":"withCertificateFilePath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"withChecksumAlgorithm(ChecksumAlgorithm)","u":"withChecksumAlgorithm(software.amazon.awssdk.crt.s3.ChecksumAlgorithm)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withChecksumAlgorithm(ChecksumAlgorithm)","u":"withChecksumAlgorithm(software.amazon.awssdk.crt.s3.ChecksumAlgorithm)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withChecksumConfig(ChecksumConfig)","u":"withChecksumConfig(software.amazon.awssdk.crt.s3.ChecksumConfig)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"withChecksumLocation(ChecksumConfig.ChecksumLocation)","u":"withChecksumLocation(software.amazon.awssdk.crt.s3.ChecksumConfig.ChecksumLocation)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withCipherPreference(TlsCipherPreference)","u":"withCipherPreference(software.amazon.awssdk.crt.io.TlsCipherPreference)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DefaultChainCredentialsProvider.DefaultChainCredentialsProviderBuilder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsWebIdentityCredentialsProvider.Builder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withClientBootstrap(ClientBootstrap)","u":"withClientBootstrap(software.amazon.awssdk.crt.io.ClientBootstrap)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withClientId(String)","u":"withClientId(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withCloseConnectionOnServerError(boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withComputeContentMd5(Boolean)","u":"withComputeContentMd5(java.lang.Boolean)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"withConfigFileNameOverride(String)","u":"withConfigFileNameOverride(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withConnackTimeoutMs(Long)","u":"withConnackTimeoutMs(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withConnectionAcquisitionTimeoutInMilliseconds(int)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withConnectionManagerOptions(HttpClientConnectionManagerOptions)","u":"withConnectionManagerOptions(software.amazon.awssdk.crt.http.HttpClientConnectionManagerOptions)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withConnectionManualWindowManagement(boolean)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withConnectionPing(int, int)","u":"withConnectionPing(int,int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withConnectOptions(ConnectPacket)","u":"withConnectOptions(software.amazon.awssdk.crt.mqtt5.packets.ConnectPacket)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withConnectTimeoutMs(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestProgress","l":"withContentLength(long)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withContentType(String)","u":"withContentType(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withCorrelationData(byte[])"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"withCredentials(Credentials)","u":"withCredentials(software.amazon.awssdk.crt.auth.credentials.Credentials)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"withCredentialsFileNameOverride(String)","u":"withCredentialsFileNameOverride(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withCredentialsProvider(CredentialsProvider)","u":"withCredentialsProvider(software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withCredentialsProvider(CredentialsProvider)","u":"withCredentialsProvider(software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withCredsProvider(CredentialsProvider)","u":"withCredsProvider(software.amazon.awssdk.crt.auth.credentials.CredentialsProvider)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withCustomRoleArn(String)","u":"withCustomRoleArn(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withDurationSeconds(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withEnableS3Express(boolean)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withEndpoint(String)","u":"withEndpoint(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withEndpoint(String)","u":"withEndpoint(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withEndpoint(String)","u":"withEndpoint(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withEndpoint(URI)","u":"withEndpoint(java.net.URI)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"withEventLoopGroup(EventLoopGroup)","u":"withEventLoopGroup(software.amazon.awssdk.crt.io.EventLoopGroup)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withExpectedHttpVersion(HttpVersion)","u":"withExpectedHttpVersion(software.amazon.awssdk.crt.http.HttpVersion)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withExtendedValidationAndFlowControlOptions(Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions)","u":"withExtendedValidationAndFlowControlOptions(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.ExtendedValidationAndFlowControlOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withFileSize(long)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"DelegateCredentialsProvider.DelegateCredentialsProviderBuilder","l":"withHandler(DelegateCredentialsHandler)","u":"withHandler(software.amazon.awssdk.crt.auth.credentials.DelegateCredentialsHandler)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"withHost(String)","u":"withHost(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withHostName(String)","u":"withHostName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProperties","l":"withHostValue(String)","u":"withHostValue(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withHttpMonitoringOptions(HttpMonitoringOptions)","u":"withHttpMonitoringOptions(software.amazon.awssdk.crt.http.HttpMonitoringOptions)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withHttpProxyOptions(HttpProxyOptions)","u":"withHttpProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withHttpProxyOptions(HttpProxyOptions)","u":"withHttpProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withHttpRequest(HttpRequest)","u":"withHttpRequest(software.amazon.awssdk.crt.http.HttpRequest)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withIdealConcurrentStreamsPerConnection(int)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withIdentity(String)","u":"withIdentity(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions","l":"withInboundBehavior(TopicAliasingOptions.InboundTopicAliasBehaviorType)","u":"withInboundBehavior(software.amazon.awssdk.crt.mqtt5.TopicAliasingOptions.InboundTopicAliasBehaviorType)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions","l":"withInboundCacheMaxSize(int)"},{"p":"software.amazon.awssdk.crt.io","c":"StandardRetryOptions","l":"withInitialBucketCapacity(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withInitialReadWindowSize(long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withInitialSettingsList(List)","u":"withInitialSettingsList(java.util.List)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withIsDirectory(boolean)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withIsFile(boolean)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withIsSymLink(boolean)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"withJitterMode(ExponentialBackoffRetryOptions.JitterMode)","u":"withJitterMode(software.amazon.awssdk.crt.io.ExponentialBackoffRetryOptions.JitterMode)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withKeepAliveIntervalSeconds(Long)","u":"withKeepAliveIntervalSeconds(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withLifecycleEvents(Mqtt5ClientOptions.LifecycleEvents)","u":"withLifecycleEvents(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.LifecycleEvents)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withLogin(CognitoCredentialsProvider.CognitoLoginTokenPair)","u":"withLogin(software.amazon.awssdk.crt.auth.credentials.CognitoCredentialsProvider.CognitoLoginTokenPair)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withManualWindowManagement(boolean)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withMaxConcurrentStreamsPerConnection(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withMaxConnectionIdleInMilliseconds(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withMaxConnections(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withMaxConnections(int)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withMaximumPacketSizeBytes(Long)","u":"withMaximumPacketSizeBytes(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withMaxPendingConnectionAcquisitions(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withMaxReconnectDelayMs(Long)","u":"withMaxReconnectDelayMs(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.io","c":"ExponentialBackoffRetryOptions","l":"withMaxRetries(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withMemoryLimitInBytes(long)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withMessageExpiryIntervalSeconds(Long)","u":"withMessageExpiryIntervalSeconds(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withMetaRequestType(S3MetaRequestOptions.MetaRequestType)","u":"withMetaRequestType(software.amazon.awssdk.crt.s3.S3MetaRequestOptions.MetaRequestType)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withMinConnectedTimeToResetReconnectDelayMs(Long)","u":"withMinConnectedTimeToResetReconnectDelayMs(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMinimumTlsVersion(TlsContextOptions.TlsVersions)","u":"withMinimumTlsVersion(software.amazon.awssdk.crt.io.TlsContextOptions.TlsVersions)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withMinReconnectDelayMs(Long)","u":"withMinReconnectDelayMs(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withMonitoringOptions(HttpMonitoringOptions)","u":"withMonitoringOptions(software.amazon.awssdk.crt.http.HttpMonitoringOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtls(String, String)","u":"withMtls(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtlsCustomKeyOperations(TlsContextCustomKeyOperationOptions)","u":"withMtlsCustomKeyOperations(software.amazon.awssdk.crt.io.TlsContextCustomKeyOperationOptions)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtlsFromPath(String, String)","u":"withMtlsFromPath(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtlsPkcs11(TlsContextPkcs11Options)","u":"withMtlsPkcs11(software.amazon.awssdk.crt.io.TlsContextPkcs11Options)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtlsPkcs12(String, String)","u":"withMtlsPkcs12(java.lang.String,java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withMtlsWindowsCertStorePath(String)","u":"withMtlsWindowsCertStorePath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withMultipartUploadThreshold(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"withNumPartsCompleted(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withObjectSizeHint(Long)","u":"withObjectSizeHint(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withOfflineQueueBehavior(Mqtt5ClientOptions.ClientOfflineQueueBehavior)","u":"withOfflineQueueBehavior(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.ClientOfflineQueueBehavior)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withOperationName(String)","u":"withOperationName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions","l":"withOutboundBehavior(TopicAliasingOptions.OutboundTopicAliasBehaviorType)","u":"withOutboundBehavior(software.amazon.awssdk.crt.mqtt5.TopicAliasingOptions.OutboundTopicAliasBehaviorType)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"TopicAliasingOptions","l":"withOutboundCacheMaxSize(int)"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"withPartSize(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withPartSize(long)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withPassword(byte[])"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withPath(String)","u":"withPath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"withPathAndQuery(String)","u":"withPathAndQuery(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withPayload(byte[])"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withPayloadFormat(PublishPacket.PayloadFormatIndicator)","u":"withPayloadFormat(software.amazon.awssdk.crt.mqtt5.packets.PublishPacket.PayloadFormatIndicator)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withPingTimeoutMs(Long)","u":"withPingTimeoutMs(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withPort(int)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withPort(Long)","u":"withPort(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"Http2StreamManagerOptions","l":"withPriorKnowledge(boolean)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withPrivateKeyObjectLabel(String)","u":"withPrivateKeyObjectLabel(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"withProfileName(String)","u":"withProfileName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withProxyEnvironmentVariableSetting(HttpProxyEnvironmentVariableSetting)","u":"withProxyEnvironmentVariableSetting(software.amazon.awssdk.crt.http.HttpProxyEnvironmentVariableSetting)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withProxyEnvironmentVariableSetting(HttpProxyEnvironmentVariableSetting)","u":"withProxyEnvironmentVariableSetting(software.amazon.awssdk.crt.http.HttpProxyEnvironmentVariableSetting)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withProxyOptions(HttpProxyOptions)","u":"withProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withProxyOptions(HttpProxyOptions)","u":"withProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withProxyOptions(HttpProxyOptions)","u":"withProxyOptions(software.amazon.awssdk.crt.http.HttpProxyOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withPublishEvents(Mqtt5ClientOptions.PublishEvents)","u":"withPublishEvents(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.PublishEvents)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withQOS(QOS)","u":"withQOS(software.amazon.awssdk.crt.mqtt5.QOS)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withReadBackpressureEnabled(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"withReasonCode(DisconnectPacket.DisconnectReasonCode)","u":"withReasonCode(software.amazon.awssdk.crt.mqtt5.packets.DisconnectPacket.DisconnectReasonCode)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"withReasonString(String)","u":"withReasonString(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withReceiveMaximum(Long)","u":"withReceiveMaximum(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withRegion(String)","u":"withRegion(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ExpressCredentialsProperties","l":"withRegion(String)","u":"withRegion(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"DirectoryEntry","l":"withRelativePath(String)","u":"withRelativePath(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withRequestFilePath(Path)","u":"withRequestFilePath(java.nio.file.Path)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withRequestProblemInformation(Boolean)","u":"withRequestProblemInformation(java.lang.Boolean)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withRequestResponseInformation(Boolean)","u":"withRequestResponseInformation(java.lang.Boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResponseFileDeleteOnFailure(boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResponseFileOption(S3MetaRequestOptions.ResponseFileOption)","u":"withResponseFileOption(software.amazon.awssdk.crt.s3.S3MetaRequestOptions.ResponseFileOption)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResponseFilePath(Path)","u":"withResponseFilePath(java.nio.file.Path)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResponseFilePosition(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResponseHandler(S3MetaRequestResponseHandler)","u":"withResponseHandler(software.amazon.awssdk.crt.s3.S3MetaRequestResponseHandler)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withResponseTopic(String)","u":"withResponseTopic(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withResumeToken(ResumeToken)","u":"withResumeToken(software.amazon.awssdk.crt.s3.ResumeToken)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withRetain(Boolean)","u":"withRetain(java.lang.Boolean)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withRetryJitterMode(ExponentialBackoffRetryOptions.JitterMode)","u":"withRetryJitterMode(software.amazon.awssdk.crt.io.ExponentialBackoffRetryOptions.JitterMode)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withRoleAlias(String)","u":"withRoleAlias(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withRoleArn(String)","u":"withRoleArn(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withS3ExpressCredentialsProviderFactory(S3ExpressCredentialsProviderFactory)","u":"withS3ExpressCredentialsProviderFactory(software.amazon.awssdk.crt.s3.S3ExpressCredentialsProviderFactory)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withS3TcpKeepAliveOptions(S3TcpKeepAliveOptions)","u":"withS3TcpKeepAliveOptions(software.amazon.awssdk.crt.s3.S3TcpKeepAliveOptions)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"withSecretAccessKey(byte[])"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"withServerName(String)","u":"withServerName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"withServerReference(String)","u":"withServerReference(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withSessionBehavior(Mqtt5ClientOptions.ClientSessionBehavior)","u":"withSessionBehavior(software.amazon.awssdk.crt.mqtt5.Mqtt5ClientOptions.ClientSessionBehavior)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"withSessionExpiryIntervalSeconds(long)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withSessionExpiryIntervalSeconds(Long)","u":"withSessionExpiryIntervalSeconds(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withSessionName(String)","u":"withSessionName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StaticCredentialsProvider.StaticCredentialsProviderBuilder","l":"withSessionToken(byte[])"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withSigningConfig(AwsSigningConfig)","u":"withSigningConfig(software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withSigningConfig(AwsSigningConfig)","u":"withSigningConfig(software.amazon.awssdk.crt.auth.signing.AwsSigningConfig)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withSlotId(long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withSocketOptions(SocketOptions)","u":"withSocketOptions(software.amazon.awssdk.crt.io.SocketOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withSocketOptions(SocketOptions)","u":"withSocketOptions(software.amazon.awssdk.crt.io.SocketOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withStandardRetryOptions(StandardRetryOptions)","u":"withStandardRetryOptions(software.amazon.awssdk.crt.io.StandardRetryOptions)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket.UnsubscribePacketBuilder","l":"withSubscription(String)","u":"withSubscription(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"withSubscription(String, QOS)","u":"withSubscription(java.lang.String,software.amazon.awssdk.crt.mqtt5.QOS)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"withSubscription(String, QOS, Boolean, Boolean, SubscribePacket.RetainHandlingType)","u":"withSubscription(java.lang.String,software.amazon.awssdk.crt.mqtt5.QOS,java.lang.Boolean,java.lang.Boolean,software.amazon.awssdk.crt.mqtt5.packets.SubscribePacket.RetainHandlingType)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"withSubscription(SubscribePacket.Subscription)","u":"withSubscription(software.amazon.awssdk.crt.mqtt5.packets.SubscribePacket.Subscription)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"withSubscriptionIdentifier(long)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withThingName(String)","u":"withThingName(java.lang.String)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withThroughputTargetGbps(double)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsConnectionOptions","l":"withTimeoutMs(int)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withTlsConnectionOptions(TlsConnectionOptions)","u":"withTlsConnectionOptions(software.amazon.awssdk.crt.io.TlsConnectionOptions)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"CognitoCredentialsProvider.CognitoCredentialsProviderBuilder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"EcsCredentialsProvider.Builder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"ProfileCredentialsProvider.Builder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsCredentialsProvider.Builder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"StsWebIdentityCredentialsProvider.Builder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3ClientOptions","l":"withTlsContext(TlsContext)","u":"withTlsContext(software.amazon.awssdk.crt.io.TlsContext)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withTokenLabel(String)","u":"withTokenLabel(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withTopic(String)","u":"withTopic(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withTopicAlias(long)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withTopicAliasingOptions(TopicAliasingOptions)","u":"withTopicAliasingOptions(software.amazon.awssdk.crt.mqtt5.TopicAliasingOptions)"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"withTotalNumParts(long)"},{"p":"software.amazon.awssdk.crt.s3","c":"ResumeToken.PutResumeTokenBuilder","l":"withUploadId(String)","u":"withUploadId(java.lang.String)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withUri(URI)","u":"withUri(java.net.URI)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withUsername(String)","u":"withUsername(java.lang.String)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextPkcs11Options","l":"withUserPin(String)","u":"withUserPin(java.lang.String)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withUserProperties(List)","u":"withUserProperties(java.util.List)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"DisconnectPacket.DisconnectPacketBuilder","l":"withUserProperties(List)","u":"withUserProperties(java.util.List)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"PublishPacket.PublishPacketBuilder","l":"withUserProperties(List)","u":"withUserProperties(java.util.List)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"SubscribePacket.SubscribePacketBuilder","l":"withUserProperties(List)","u":"withUserProperties(java.util.List)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"UnsubscribePacket.UnsubscribePacketBuilder","l":"withUserProperties(List)","u":"withUserProperties(java.util.List)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"withValidateChecksum(boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions","l":"withValidateChecksum(boolean)"},{"p":"software.amazon.awssdk.crt.s3","c":"ChecksumConfig","l":"withValidateChecksumAlgorithmList(List)","u":"withValidateChecksumAlgorithmList(java.util.List)"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withVerifyPeer()"},{"p":"software.amazon.awssdk.crt.io","c":"TlsContextOptions","l":"withVerifyPeer(boolean)"},{"p":"software.amazon.awssdk.crt.mqtt5","c":"Mqtt5ClientOptions.Mqtt5ClientOptionsBuilder","l":"withWebsocketHandshakeTransform(Consumer)","u":"withWebsocketHandshakeTransform(java.util.function.Consumer)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withWill(PublishPacket)","u":"withWill(software.amazon.awssdk.crt.mqtt5.packets.PublishPacket)"},{"p":"software.amazon.awssdk.crt.mqtt5.packets","c":"ConnectPacket.ConnectPacketBuilder","l":"withWillDelayIntervalSeconds(Long)","u":"withWillDelayIntervalSeconds(java.lang.Long)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpClientConnectionManagerOptions","l":"withWindowSize(long)"},{"p":"software.amazon.awssdk.crt","c":"AsyncCallback","l":"wrapFuture(CompletableFuture, T)","u":"wrapFuture(java.util.concurrent.CompletableFuture,T)"},{"p":"software.amazon.awssdk.crt.s3","c":"S3MetaRequestOptions.ResponseFileOption","l":"WRITE_TO_POSITION"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStream","l":"writeChunk(byte[], boolean)","u":"writeChunk(byte[],boolean)"},{"p":"software.amazon.awssdk.crt.http","c":"HttpStream","l":"writeChunk(byte[], boolean, HttpStream.HttpStreamWriteChunkCompletionCallback)","u":"writeChunk(byte[],boolean,software.amazon.awssdk.crt.http.HttpStream.HttpStreamWriteChunkCompletionCallback)"},{"p":"software.amazon.awssdk.crt.eventstream","c":"Header","l":"writeToByteBuffer(ByteBuffer)","u":"writeToByteBuffer(java.nio.ByteBuffer)"},{"p":"software.amazon.awssdk.crt.auth.signing","c":"AwsSigningConfig.AwsSignedBodyHeaderType","l":"X_AMZ_CONTENT_SHA256"},{"p":"software.amazon.awssdk.crt.auth.credentials","c":"X509CredentialsProvider.X509CredentialsProviderBuilder","l":"X509CredentialsProviderBuilder()","u":"%3Cinit%3E()"}];updateSearchResults();
\ No newline at end of file
diff --git a/docs/module-search-index.js b/docs/module-search-index.js
new file mode 100644
index 000000000..0d59754fc
--- /dev/null
+++ b/docs/module-search-index.js
@@ -0,0 +1 @@
+moduleSearchIndex = [];updateSearchResults();
\ No newline at end of file
diff --git a/docs/overview-summary.html b/docs/overview-summary.html
new file mode 100644
index 000000000..2275fcb63
--- /dev/null
+++ b/docs/overview-summary.html
@@ -0,0 +1,25 @@
+
+
+
+
+software.amazon.awssdk.crt:aws-crt 1.0.0-SNAPSHOT API
+
+
+
+
+
+
+
+
+
+
+
+
+
The help page provides an introduction to the scope and syntax of JavaDoc search.
+
You can use the <ctrl> or <cmd> keys in combination with the left and right arrow keys to switch between result tabs in this page.
+
The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.
Async io completion abstraction used by the native mqtt layer. We moved to using futures directly but
+ that might have been a mistake and we should consider moving back to this for our other async
+ operations that cross the managed/native boundary
This class is responsible for loading the aws-crt-jni shared lib for the
+ current platform out of aws-crt-java.jar. One instance of this class has to
+ be created somewhere to invoke the static initialization block which will
+ load the shared lib
Public API that allows a user to indicate interest in controlling the CRT's time of shutdown. The
+ shutdown process works via ref-counting, with a default starting count of 1 which is decremented by a
+ JVM shutdown hook. Each external call to `acquireShutdownRef()` requires a corresponding call to
+ `releaseShutdownRef()` when the caller is ready for the CRT to be shut down. Once all shutdown references
+ have been released, the CRT will be shut down.
+
+ If the ref count is not properly driven to zero (and thus leaving the CRT active), the JVM may crash
+ if unmanaged native code in the CRT is still busy and attempts to call back into the JVM after the JVM cleans
+ up JNI.
+
+
+
+
+
+
releaseShutdownRef
+
+
public staticvoidreleaseShutdownRef()
+
Public API to release a shutdown reference that blocks CRT shutdown from proceeding. Must be called once, and
+ only once, for each call to `acquireShutdownRef()`. Once all shutdown references have been released (including
+ the initial reference that is managed by a JVM shutdown hook), the CRT will begin its shutdown process which
+ permanently severs all native-JVM interactions.
Given an integer error code from an internal operation, get a corresponding string identifier for it.
+
+
Parameters:
+
errorCode - An error code returned from an exception or other native
+ function call
+
Returns:
+
A string identifier for the error
+
+
+
+
+
+
+
nativeMemory
+
+
public staticlongnativeMemory()
+
+
Returns:
+
The number of bytes allocated in native resources. If
+ aws.crt.memory.tracing is 1 or 2, this will be a non-zero value.
+ Otherwise, no tracing will be done, and the value will always be 0
+
+
+
+
+
+
+
dumpNativeMemory
+
+
public staticvoiddumpNativeMemory()
+
Dump info to logs about all memory currently allocated by native resources.
+ The following system properties must be set to see a dump:
+ aws.crt.memory.tracing must be 1 or 2
+ aws.crt.log.level must be "Trace"
+
+
+
+
+
+
checkJniExceptionContract
+
+
public staticvoidcheckJniExceptionContract(boolean clearException)
This wraps a native pointer and/or one or more references to an AWS Common Runtime resource. It also ensures
+ that the first time a resource is referenced, the CRT will be loaded and bound.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
+
+
Returns:
+
true if this resource releases synchronously, false if this resource performs async shutdown
+
+
+
+
+
+
+
isNull
+
+
publicbooleanisNull()
+
Checks if this resource's native handle is NULL. For always-null resources this is always true. For all other
+ resources it means it has already been cleaned up or was not properly constructed.
+
+
Returns:
+
true if no native resource is bound, false otherwise
Decrements the reference count to this resource. If zero is reached, begins (and possibly completes) the resource's
+ cleanup process.
+
+
+
+
+
+
releaseReferences
+
+
protectedvoidreleaseReferences()
+
Decrements the ref counts for all resources referenced by this resource. Most resources will have this called
+ from their close() function, but resources with asynchronous shutdown processes must have it called from a
+ shutdown completion callback.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Gets the soft limit for IO handles for this process (max fds in unix terminology)
+
+
Returns:
+
soft limit for IO handles.
+
+
+
+
+
+
+
getMaxIOHandlesHardLimit
+
+
public staticlonggetMaxIOHandlesHardLimit()
+
Gets the hard limit for IO handles for this process (max fds in unix terminology). This
+ value cannot be altered without root permissions.
+
+
Returns:
+
hard limit for IO handles.
+
+
+
+
+
+
+
setMaxIOHandlesSoftLimit
+
+
public staticvoidsetMaxIOHandlesSoftLimit(long maxHandles)
+
Sets the soft limit for IO handles for this process (max fds in unix terminology). maxHandles may not exceed the
+ return value of getMaxIOHandlesHardLimit(). In addition, avoid calling this function unless you've checked
+ getMaxIOHandlesSoftLimit() is actually less than getMaxIOHandlesHardLimit() since this function will always
+ fail on some platforms (such as windows) where there are no practical limits in the first place.
+
+
Parameters:
+
maxHandles - new soft limit for this process.
+
Throws:
+
CrtRuntimeException - if the operation fails due to illegal arguments or the opereration is unsupported on
+ the current platform.
Sets the maximum caching duration for any credentials sourced through this provider. Depending on the
+ wrapped provider's configuration, credentials may be sourced with shorter durations.
+
+
Parameters:
+
cachingDurationInSeconds - maximum caching duration in seconds of sourced credentials
Anonymous Credentials constructor. Use Anonymous Credentials when you want to skip signing.
+ The recommended approach is to use createAnonymousCredentials().
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.
Sets the client bootstrap (host resolver and event loop group) to use when making the connections
+ required by this provider. The default is a bootstrap which uses the static default event loop group and host
+ resolver.
A class that wraps a provider that gets credentials from an ECS service.
+ See https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html for details.
Sets the client bootstrap (host resolver and event loop group) to use when making the connections
+ required by this provider. The default is a bootstrap which uses the static default event loop group and host
+ resolver.
Sets the name of the config file to use. If none is specified, a name of "~/.aws/config" (Linux and Mac) or
+ "%USERPROFILE%\.aws\config" (Windows) is used.
+
+
Parameters:
+
configFileNameOverride - the config file name to use
Sets the name of the credentials file to use. If none is specified, a name of "~/.aws/credentials" (Linux and
+ Mac) or "%USERPROFILE%\.aws\credentials" (Windows) is used.
+
+
Parameters:
+
credentialsFileNameOverride - the credentials file name to use
Sets the AWS session token to use within the static credentials. Session credentials are inherently
+ time-bound; static providers do not provide any mechanism to update session-based credentials, and use
+ of session-based credentials with a static provider is discouraged.
Sets the client bootstrap (host resolver and event loop group) to use when making the connections
+ required by this provider. The default is a bootstrap which uses the static default event loop group and host
+ resolver.
Sets the client bootstrap (host resolver and event loop group) to use when making the connections
+ required by this provider. The default is a bootstrap which uses the static default event loop group and host
+ resolver.
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Sets the endpoint to fetch credentials from. This is a per-account value that can be determined
+ via the cli: 'aws iot describe-endpoint --endpoint-type iot:CredentialProvider'
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
Signs a body chunk according to the supplied signing configuration
+
+
Parameters:
+
chunkBody - stream of bytes that make up the chunk
+
previousSignature - the signature of the previous component of the request: either the request itself for
+ the first chunk, or the previous chunk otherwise
+
config - signing configuration
+
Returns:
+
future which will contain the signature of the chunk. The signature *MUST* be written directly into
+ the chunk metadata.
Signs a body chunk according to the supplied signing configuration
+
+
Parameters:
+
chunkBody - stream of bytes that make up the chunk
+
previousSignature - the signature of the previous component of the request: either the request itself for
+ the first chunk, or the previous chunk otherwise
+
config - signing configuration
+
Returns:
+
future which will contain a signing result, which provides easier access to all signing-related
+ result properties
Signs a body chunk according to the supplied signing configuration
+
+
Parameters:
+
headers - list of headers to be sent in the trailer.
+
previousSignature - the signature of the previous component of the
+ request: either the request itself for the first
+ chunk, or the previous chunk otherwise
+
config - signing configuration
+
Returns:
+
future which will contain a signing result, which provides easier
+ access to all signing-related result properties
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public class AwsSigningConfig.AwsSignedBodyValue
+extends Object
+
A set of string constants for various canonical request payload values. If signed body header type is not NONE
+ then the value will also be reflected in X-Amz-Content-Sha256
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public class AwsSigningConfig
+extends CrtResource
+
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Sets what to use for region when signing. Depending on the algorithm, this may not be an actual region name
+ and so no validation is done on this parameter. In sigv4a, this value is used for the "region-set" concept.
Sets the point in time that signing should be relative to. Not Instant for Android API level support reasons.
+ Additionally, for http requests, X-Amz-Date will be added to the request using this time point.
+
+
Parameters:
+
time - point in time, as milliseconds since epoch, that signing should be relative to
+
+
+
+
+
+
+
getTime
+
+
publiclonggetTime()
+
Gets the point in time (in milliseconds since epoch) that signing will be done relative to
+
+
Returns:
+
the point in time (in milliseconds since epoch) that signing will be done relative to
Sets whether or not signing should uri encode urls as part of canonical request construction.
+ We assume the uri will be encoded once in preparation for transmission. Certain services
+ do not decode before checking signature, requiring us to actually double-encode the uri in the canonical
+ request in order to pass a signature check.
+
+
Parameters:
+
useDoubleUriEncode - should signing uri encode urls in the canonical request
+
+
+
+
+
+
+
getUseDoubleUriEncode
+
+
publicbooleangetUseDoubleUriEncode()
+
Gets whether or not signing will uri encode urls during canonical request construction
+
+
Returns:
+
whether or not signing will uri encode urls during canonical request construction
Sets whether or not X-Amz-Session-Token should be added to the canonical request when signing with session
+ credentials.
+
+ "X-Amz-Security-Token" is added during signing, as a header or
+ query param, when credentials have a session token.
+ If false (the default), this parameter is included in the canonical request.
+ If true, this parameter is still added, but omitted from the canonical request.
+
+
Parameters:
+
omitSessionToken - whether or not X-Amz-Session-Token should be added to the canonical request when signing with session
+ credentials
+
+
+
+
+
+
+
getOmitSessionToken
+
+
publicbooleangetOmitSessionToken()
+
Gets whether or not X-Amz-Session-Token should be added to the canonical request when signing with session
+ credentials.
+
+
Returns:
+
whether or not X-Amz-Session-Token should be added to the canonical request when signing with session
+ credentials
Sets the payload hash override value to use in canonical request construction. If the signed body header type is
+ not set to null, then the designated header will also take on this value. If this value is NULL, then the signer
+ will compute the SHA256 of the body stream and use that instead.
+
+
Parameters:
+
signedBodyValue - payload hash override value to use in canonical request construction
Sets the expiration time in seconds when using query param signing (pre-signed url). The appropriate query param
+ will be added to the URL when building the canonical and signed requests.
+
+
Parameters:
+
expirationInSeconds - time in seconds that a pre-signed url will be valid for
+
+
+
+
+
+
+
getExpirationInSeconds
+
+
publiclonggetExpirationInSeconds()
+
Gets the expiration time in seconds to use when signing to make a pre-signed url.
+
+
Returns:
+
the expiration time in seconds for a pre-signed url
Wrapper that holds signing-related output. Depending on the signing configuration, not all members may be
+ assigned and some members, like signature, may have a variable format.
the signed http request, or NULL if an http request was not signed
+
+
+
+
+
+
+
getSignature
+
+
publicbyte[]getSignature()
+
Gets the signature value from the result. Depending on the requested signature type and algorithm, this value
+ will be in one of the following formats:
+
+ (1) HTTP_REQUEST_VIA_HEADERS - hex encoding of the binary signature value
+ (2) HTTP_REQUEST_VIA_QUERY_PARAMS - hex encoding of the binary signature value
+ (3) HTTP_REQUEST_CHUNK/SIGV4 - hex encoding of the binary signature value
+ (4) HTTP_REQUEST_CHUNK/SIGV4_ASYMMETRIC - '*'-padded hex encoding of the binary signature value
+ (5) HTTP_REQUEST_EVENT - binary signature value (NYI)
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public final class EccKeyPair
+extends CrtResource
+
This class puts an opaque wrapper around aws_ecc_key_pair from aws-c-cal. Currently, it is only intended to be
+ cached and returned to native code by a signing invocation.
+
+ If there's a compelling reason, we can add accessors and conversions to/from Java's KeyPair.
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.
Sts with web identity credentials provider sources a set of temporary security credentials for users who have been
+ authenticated in a mobile or web application with a web identity provider.
A class representing configuration related to signing something "signable" (an http request, a body chunk, a
+ stream event) via an AWS signing process.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Initiates a new outgoing event-stream-rpc connection. The future will be completed once the connection either
+ succeeds or fails.
+
+
Parameters:
+
hostName - hostname to connect to, this can be an IPv4 address, IPv6 address, a local socket address, or a
+ dns name.
+
port - port to connect to hostName with. For local socket address, this value is ignored.
+ For 32bit values exceeding Integer.MAX_VALUE use two's complement (i.e. -1 == 0xFFFFFFFF).
+
socketOptions - socketOptions to use.
+
tlsContext - (optional) tls context to use for using SSL/TLS in the connection.
+
bootstrap - clientBootstrap object to run the connection on.
+
connectionHandler - handler to process connection messages and state changes.
+
Returns:
+
The future will be completed once the connection either succeeds or fails.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Invoked when a message is received on a continuation.
+
+
Parameters:
+
headers - List of EventStream headers for the message received.
+
payload - Payload for the message received
+
messageType - message type for the message
+
messageFlags - message flags for the message
+
+
+
+
+
+
+
onContinuationClosed
+
+
protectedvoidonContinuationClosed()
+
By default closes the underlying resource. If you override this function, be sure to
+ either call close() manually or invoke super.onContinuationClosed() before returning.
Event-stream header. This object can be represented in many types, so before
+ using
+ the getValueAs*() functions, check the value of getHeaderType() and then
+ decide
+ which getValueAs*() function to call based on the returned type.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
By default, automatically responds to pings when received, and routes connect requests.
+
+ Feel free to override this function if you want different behavior.
To customize how the connect request is handled, override this function.
+ You're responsible for sending the response. By default, it accepts all incoming
+ connections.
When a new stream continuation is received, it routes to the configured operation name to
+ handler mapping. If no such mapping exists, an Unsupported Operation message of type ApplicationError
+ is sent to the peer.
+
+ You can't override this function, because well, if you do, you might as well not use this
+ class in the first place.
public class ServerConnection
+extends CrtResource
+
Wrapper around event-stream-rpc-server-connection. Note this class is AutoClosable.
+ By default the ServerConnectionHandler::onClosed callback calls close().
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
public class ServerConnectionContinuation
+extends CrtResource
+
Wrapper around aws-event-stream-rpc-server continuation. This class is marked AutoClosable.
+ Note that by default ServerConnectionContinuationHandler will invoke close() in
+ ServerConnectionContinuationHandler::onContinuationClosed().
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Implement to handle the onContinuationClosed event. By default, releases the underlying
+ resource by calling close(). If you override this function, be sure to either call close()
+ yourself or invoke super.onContinuationClosed().
Instantiates a server listener. Once this function completes, the server is configured
+ and listening for new connections.
+
+
Parameters:
+
hostName - name of the host to listen on. Can be a dns name, ip address, or unix
+ domain socket (or named pipe on windows) name.
+
port - port to listen on. Ignored for local domain sockets.
+ For 32bit values exceeding Integer.MAX_VALUE use two's complement (i.e. -1 == 0xFFFFFFFF).
+
socketOptions - socket options to apply to the listening socket.
+
tlsContext - optional tls context to apply to the connection if you want to use TLS.
+
serverBootstrap - bootstrap object for handling connections.
+
handler - functor interface for handling incoming connections and connection closures.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
true if this resource releases synchronously, false if this resource performs async shutdown
+
+
+
+
+
+
+
getBoundPort
+
+
publicintgetBoundPort()
+
+
Returns:
+
the port which the listener socket is bound to.
+ Note that two's complement is used for 32bit values exceeding
+ Integer.MAX_VALUE (i.e. -1 == 0xFFFFFFFF).
Invoked upon receiving a new connection, or if an error happened upon connection
+ creation. If errorCode is non-zero, onConnectionShutdown() will never be invoked.
+
+
Parameters:
+
serverConnection - The new server connection to use for communications. Is non-null
+ when errorCode is 0.
+
errorCode - represents any error that occurred during connection establishment
+
Returns:
+
Return an instance of ServerConnectionHandler, for processing connection specific events.
+
+
+
+
+
+
+
onConnectionShutdown
+
+
protected abstractvoidonConnectionShutdown(ServerConnection serverConnection,
+ int errorCode)
+
Invoked upon connection shutdown. serverConnection will never be null. This function is
+ only invoked if onNewConnection() was invoked with a zero errorCode.
+
+
Parameters:
+
serverConnection - connection the shutdown occurred on.
+
errorCode - shutdown reason. 0 means clean shutdown.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
This class wraps aws-c-http to provide the basic HTTP/2 request/response
+ functionality via the AWS Common Runtime.
+
+ Http2ClientConnection represents a single connection to a HTTP/2 service
+ endpoint.
+
+ This class is not thread safe and should not be called from different
+ threads.
Send a PING frame. Round-trip-time is calculated when PING ACK is received
+ from peer.
+
+
Parameters:
+
pingData - 8 Bytes data with the PING frame or null for not include data
+ in ping
+
Returns:
+
When this future completes without exception, the peer has
+ acknowledged the PING and future will be completed with the round
+ trip time in nano seconds for the connection.
Send a custom GOAWAY frame.
+
+ Note that the connection automatically attempts to send a GOAWAY during
+ shutdown (unless a GOAWAY with a valid Last-Stream-ID has already been sent).
+
+ This call can be used to gracefully warn the peer of an impending shutdown
+ (http2_error=0, allow_more_streams=true), or to customize the final GOAWAY
+ frame that is sent by this connection.
+
+ The other end may not receive the goaway, if the connection already closed.
+
+
Parameters:
+
Http2ErrorCode - The HTTP/2 error code (RFC-7540 section 7) to send.
+ `enum Http2ErrorCode` lists official codes.
+
allowMoreStreams - If true, new peer-initiated streams will continue to
+ be acknowledged and the GOAWAY's Last-Stream-ID will
+ be set to a max value. If false, new peer-initiated
+ streams will be ignored and the GOAWAY's
+ Last-Stream-ID will be set to the latest acknowledged
+ stream.
+
debugData - Optional debug data to send. Size must not exceed
+ 16KB. null is acceptable to not include debug data.
Increment the connection's flow-control window to keep data flowing.
+
+ If the connection was created with `manualWindowManagement` set true, the
+ flow-control window of the connection will shrink as body data is received
+ for all the streams created on it. (headers, padding, and other metadata do
+ not affect the window). The initial connection flow-control window is 65,535.
+ Once the connection's flow-control window reaches to 0, all the streams on
+ the connection stop receiving any further data.
+
+ If `manualWindowManagement` is false, this call will have no effect. The
+ connection maintains its flow-control windows such that no back-pressure is
+ applied and data arrives as fast as possible.
+
+ If you are not connected, this call will have no effect.
+
+ Crashes when the connection is not http2 connection. The limit of the Maximum
+ Size is 2**31 - 1. If the increment size cause the connection flow window
+ exceeds the Maximum size, this call will result in the connection lost.
+
+
Parameters:
+
incrementSize - The size to increment for the connection's flow control
+ window
Schedules an HttpRequest on the Native EventLoop for this
+ HttpClientConnection. The HTTP/1.1 request will be transformed to HTTP/2
+ request under the hood.
streamHandler - The Stream Handler to be called from the Native
+ EventLoop
+
Returns:
+
The Http2Stream that represents this Request/Response Pair. It can be
+ closed at any time during the request/response, but must be closed by
+ the user thread making this request when it's done.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
The SETTINGS_HEADER_TABLE_SIZE. Allows the sender to inform the remote
+ endpoint of the maximum size of the header compression table used to decode
+ header blocks, in octets.
+
+
Parameters:
+
headerTableSize - the maximum size of the header compression table used
+ (in octets)
The SETTINGS_INITIAL_WINDOW_SIZE. Indicates the sender's initial window size
+ (in octets) for stream-level flow control. The initial value is 2^16-1
+ (65,535) octets.
+
+
Parameters:
+
initialWindowSize - initial window size (in octets)
The SETTINGS_MAX_HEADER_LIST_SIZE. This advisory setting informs a peer of
+ the maximum size of header list that the sender is prepared to accept, in
+ octets. The value is based on the uncompressed size of header fields,
+ including the length of the name and value in octets plus an overhead of 32
+ octets for each header field.
+
+
Parameters:
+
maxHeaderListSize - the maximum size of header list (in octets)
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.
For HTTP/2 stream manager only.
+
+ The initial settings for the HTTP/2 connections made by stream manger.
+ `Http2ConnectionSettingListBuilder` can help to build the settings list.
+
+ To control the initial stream-level flow-control window, set the
+ INITIAL_WINDOW_SIZE setting in the initial settings.
+
+
Parameters:
+
initialSettingsList - The List of initial settings
For HTTP/2 stream manager only.
+
+ The ideal number of concurrent streams for a connection. Stream manager will
+ try to create a new connection if one connection reaches this number. But, if
+ the max connections reaches, manager will reuse connections to create the
+ acquired steams as much as possible.
+
+
Parameters:
+
idealConcurrentStreamsPerConnection - The ideal number of concurrent
+ streams for a connection
+
Returns:
+
this
+
+
+
+
+
+
+
getIdealConcurrentStreamsPerConnection
+
+
publicintgetIdealConcurrentStreamsPerConnection()
+
+
Returns:
+
The ideal number of concurrent streams for a connection used for
+ manager
Default is no limit, which will use the limit from the server. 0 will be
+ considered as using the default value.
+ The real number of concurrent streams per connection will be controlled by
+ the minimal value of the setting from other end and the value here.
+
+
Parameters:
+
maxConcurrentStreamsPerConnection - The max number of concurrent
+ streams for a connection
+
Returns:
+
this
+
+
+
+
+
+
+
getMaxConcurrentStreamsPerConnection
+
+
publicintgetMaxConcurrentStreamsPerConnection()
+
+
Returns:
+
The max number of concurrent streams for a connection set for
+ manager.
+ It could be different than the real limits, which is the minimal set
+ for manager and the settings from the other side.
+
+
+
+
+
+
+
isConnectionManualWindowManagement
+
+
publicbooleanisConnectionManualWindowManagement()
+
+
Returns:
+
The connection level manual flow control enabled or not.
Set to true to manually manage the flow-control window of whole HTTP/2
+ connection.
+ The stream level flow-control window is controlled by the
+ manualWindowManagement in connectionManagerOptions.
+
+
Parameters:
+
connectionManualWindowManagement - Enable connection level manual flow
+ control or not.
Required.
+
+ The configuration options for the connection manager under the hood.
+ It controls the connection specific thing for the stream manager. See
+ `HttpClientConnectionManagerOptions` for details.
+
+ Note:
+ 1. the windowSize of connection manager will be ignored, as the initial
+ flow-control window size for HTTP/2 stream
+ is controlled by the initial settings.
+ 2. The expectedHttpVersion will also be ignored.
+
+
Parameters:
+
connectionManagerOptions - The connection manager options for the
+ underlying connection manager
Set to true to use prior knowledge to setup connection.
+ If any TLS was set, exception will be raised if prior knowledge is set during
+ validation.
+ If NO TLS was set, exception will be raised if prior knowledge is NOT set
+ during validation.
+
+
Parameters:
+
priorKnowledge - Prior knowledge used or not.
+
Returns:
+
this
+
+
+
+
+
+
+
shouldCloseConnectionOnServerError
+
+
publicbooleanshouldCloseConnectionOnServerError()
+
+
Returns:
+
Connection closed or not when server error happened (500/502/503/504
+ response status code received).
Set to true to inform stream manager to close connection when response with
+ 500/502/503/504 received.
+ Stream manager will stop using the connection with server error will start a
+ new connection for other streams.
+
+
Parameters:
+
closeConnectionOnServerError - Connection closed or not when server
+ error happened.
Settings to control the period ping to be sent for connections held by stream
+ manager.
+
+
Parameters:
+
periodMs - The period for all the connections held by stream manager to
+ send a PING in milliseconds. If you specify 0, manager will
+ NOT send any PING.
+
timeoutMs - Network connection will be closed if a ping response is not
+ received within this amount of time (milliseconds). If you
+ specify 0, a default value will be used. If this is larger
+ than periodMs, it will be capped to be equal.
+
Returns:
+
this
+
+
+
+
+
+
+
getConnectionPingPeriodMs
+
+
publicintgetConnectionPingPeriodMs()
+
+
Returns:
+
The period for all the connections held by stream manager to send a
+ PING in milliseconds.
+
+
+
+
+
+
+
getConnectionPingTimeoutMs
+
+
publicintgetConnectionPingTimeoutMs()
+
+
Returns:
+
The time for closing connection if ping not received within this
+ amount of time in milliseconds
+
+
+
+
+
+
+
validateOptions
+
+
publicvoidvalidateOptions()
+
Validate the stream manager options are valid to use. Throw exceptions if
+ not.
public class HttpClientConnection
+extends CrtResource
+
This class wraps aws-c-http to provide the basic HTTP request/response functionality via the AWS Common Runtime.
+
+ HttpClientConnection represents a single connection to a HTTP service endpoint.
+
+ This class is not thread safe and should not be called from different threads.
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
Schedules an HttpRequest on the Native EventLoop for this HttpClientConnection specific to HTTP/1.1 connection.
+
+
Parameters:
+
request - The Request to make to the Server.
+
streamHandler - The Stream Handler to be called from the Native EventLoop
+
Returns:
+
The HttpStream that represents this Request/Response Pair. It can be closed at any time during the
+ request/response, but must be closed by the user thread making this request when it's done.
Schedules an HttpRequestBase on the Native EventLoop for this HttpClientConnection applies to both HTTP/2 and HTTP/1.1 connection.
+
+
Parameters:
+
request - The Request to make to the Server.
+
streamHandler - The Stream Handler to be called from the Native EventLoop
+
Returns:
+
The HttpStream that represents this Request/Response Pair. It can be closed at any time during the
+ request/response, but must be closed by the user thread making this request when it's done.
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.
Shuts down the underlying http connection. Even if this function is called, you still need to properly close
+ the connection as well in order to release the native resources.
+
+
+
+
+
+
isOpen
+
+
publicbooleanisOpen()
+
Check the underlying http connection is still open or not.
+
+
Returns:
+
true unless the underlying http connection is shutting down, or has been shutdown.
public staticbooleanisErrorRetryable(HttpException exception)
+
Certain exceptions thrown by this HTTP API are from invalid boundary conditions
+ that, if the request isn't altered, will never succeed. This function returns
+ false if the exception is caused by such a condition.
+
+ It does not mean the request that generated the error SHOULD be retried:
+ only that as far as this client is concerned, the request might,
+ possibly succeed with a subsequent attempt.
+
+
Parameters:
+
exception - , an exception thrown by the CRT HTTP API--for any reason.
+
Returns:
+
true if the error that generated the exception makes sense for a retry, and
+ false otherwise.
Releases this HttpClientConnection back into the Connection Pool, and allows another Request to acquire this connection.
+
+
Parameters:
+
conn - Connection to release
+
+
+
+
+
+
+
canReleaseReferencesImmediately
+
+
protectedbooleancanReleaseReferencesImmediately()
+
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.
If set, HttpClientConnectionManager.acquireConnection()
+ will give up after waiting this long for a connection from the pool,
+ failing with error AWS_ERROR_HTTP_CONNECTION_MANAGER_ACQUISITION_TIMEOUT.
If set, HttpClientConnectionManager.acquireConnection() will fail with
+ AWS_ERROR_HTTP_CONNECTION_MANAGER_MAX_PENDING_ACQUISITIONS_EXCEEDED if there are already pending acquisitions
+ equal to `maxPendingConnectionAcquisitions`.
Sets the connection-specific TLS options to use for connections in the connection pool.
+ Either TLS context or TLS connection options will be enough to set up TLS connection.
+ If both set, an exception will be raised.
+
+
Parameters:
+
tlsConnectionOptions - The TlsConnectionOptions to use
Sets the port to connect to for connections in the connection pool.
+ For 32bit values exceeding Integer.MAX_VALUE use two's complement
+ (i.e. -1 == 0xFFFFFFFF).
+
+
Parameters:
+
port - The port to connect to
+
Returns:
+
this
+
+
+
+
+
+
+
getPort
+
+
publicintgetPort()
+
+
Returns:
+
the port to connect to for connections in the connection pool.
+ Returns -1 if none has been explicitly set.
+ Note that two's complement is used for 32bit values exceeding
+ Integer.MAX_VALUE (i.e. -1 == 0xFFFFFFFF).
Optional.
+ Sets how proxy is fetched from the environment.
+ Reading proxy configuration from environment is disabled if this is NULL for backward compatibility.
+ Only works when proxyOptions is not set. The proxy settings follow the following precedence
+ 1. Configured Proxy Setting
+ 2. Environment (if enabled)
+ 3. No proxy
+
+
Parameters:
+
httpProxyEnvironmentVariableSetting - for this connection manager
If set to true, then you must manage the read backpressure mechanism. You should
+ only use this if you're allowing http response body data to escape the callbacks. E.g. you're
+ putting the data into a queue for another thread to process and need to make sure the memory
+ usage is bounded (e.g. reactive streams).
+
+ When enabled, each HttpStream has a flow-control window that shrinks as response body data is downloaded
+ (headers do not affect the window). withWindowSize(long) determines the starting size of each
+ HttpStream's window, in bytes. Data stops downloading whenever the window reaches zero.
+ Increment the window to keep data flowing by calling HttpStreamBase.incrementWindow(int),
+ or by returning a size from HttpStreamResponseHandler.onResponseBody(software.amazon.awssdk.crt.http.HttpStream, byte[]).
+ Maintain a larger window to keep up a high download throughput,
+ or use a smaller window to limit how much data could get buffered in memory.
+
+
Parameters:
+
manualWindowManagement - true to enable manual window management, false to use automatic window management
If set, HttpClientConnectionManager.acquireConnection()
+ will give up after waiting this long for a connection from the pool,
+ failing with error AWS_ERROR_HTTP_CONNECTION_MANAGER_ACQUISITION_TIMEOUT.
+
+
Parameters:
+
connectionAcquisitionTimeoutInMilliseconds - timeout in milliseconds.
If set, HttpClientConnectionManager.acquireConnection() will fail with
+ AWS_ERROR_HTTP_CONNECTION_MANAGER_MAX_PENDING_ACQUISITIONS_EXCEEDED if there are already pending acquisitions
+ equal to `maxPendingConnectionAcquisitions`.
+
+
Parameters:
+
maxPendingConnectionAcquisitions - maximum pending acquisitions allowed
+
Returns:
+
this
+
+
+
+
+
+
+
getMaxConnectionIdleInMilliseconds
+
+
publiclonggetMaxConnectionIdleInMilliseconds()
+
+
Returns:
+
How long to allow connections to be idle before reaping them
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
The number of additional concurrent requests that can be supported by the HTTP manager without needing to
+ establish additional connections to the target server.
+
+ For connection manager, this value represents idle connections.
+ For stream manager, this value represents the number of streams that are possible to be made without creating new
+ connections, although the implementation can create new connection without fully filling it.
+
+
+
+
+
+
+
getPendingConcurrencyAcquires
+
+
publiclonggetPendingConcurrencyAcquires()
+
+
Returns:
+
The number of requests that are awaiting concurrency to be made available from the HTTP manager.
+
+
+
+
+
+
+
getLeasedConcurrency
+
+
publiclonggetLeasedConcurrency()
+
+
Returns:
+
the amount of concurrency units currently out for lease. For http 1.1 this will be connections while
+ for http2 this will be number of streams leased out.
public class HttpMonitoringOptions
+extends Object
+
This class provides access to basic http connection monitoring controls in lieu of the more traditional
+ timeouts.
+
+ The user can set a throughput threshold (in bytes per second) for the a connection to be considered healthy. If
+ the connection falls below this threshold for a configurable amount of time, then the connection is considered
+ unhealthy and shut down. Throughput/health is only measured when the connection has work (read or write) that
+ needs to be done.
Default.
+ Enable reading from environment variable for proxy configuration, when the proxy options
+ are not set.
+ env HTTPS_PROXY/https_proxy will be checked when the main connection use tls.
+ env HTTP_PROXY/http_proxy will be checked when the main connection does not use tls.
+ The lower case version has precedence.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Called from Native when the Http Request has a Body (Eg PUT/POST requests).
+ Note that this function may be called many times as Native sends the Request Body.
+
+ Do NOT keep a reference to this ByteBuffer past the lifetime of this function call. The CommonRuntime reserves
+ the right to use DirectByteBuffers pointing to memory that only lives as long as the function call.
+
+
Parameters:
+
bodyBytesOut - The Buffer to write the Request Body Bytes to.
+
Returns:
+
True if Request body is complete, false otherwise.
+
+
+
+
+
+
+
resetPosition
+
+
defaultbooleanresetPosition()
+
Called from native when the processing needs the stream to rewind itself back to its beginning.
+ If the stream does not support rewinding or the rewind fails, false should be returned
+
+ Signing requires a rewindable stream, but basic http does not.
+
+
Returns:
+
True if the stream was successfully rewound, false otherwise.
+
+
+
+
+
+
+
getLength
+
+
defaultlonggetLength()
+
Called from native when the processing needs to know the length of the stream.
+ If the stream does not know/support length, 0 should be returned.
+
+ Signing requires a rewindable stream, but basic http does not.
+
+
Returns:
+
Stream length, or 0 if unknown stream or length is unsupported
An base class represents a single Http Request/Response for both HTTP/1.1 and
+ HTTP/2 and wraps the native resources from the aws-c-http library.
+
+ Can be used to update the Window size, or to abort the stream early in the
+ middle of sending/receiving Http Bodies.
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
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.
Increment the flow-control window, so that response data continues downloading.
+
+ If HttpClientConnectionManagerOptions.withManualWindowManagement(boolean) was set true,
+ each HTTP stream has a flow-control window that shrinks as response
+ body data is downloaded (headers do not affect the size of the window).
+ HttpClientConnectionManagerOptions.withWindowSize(long) sets the starting size for each HTTP stream's window.
+ Whenever the window reaches zero, data stops downloading.
+ Increment the window to keep data flowing.
+ Maintain a larger window to keep up a high download throughput,
+ parts cannot download in parallel unless the window is large enough to hold multiple parts.
+ Maintain a smaller window to limit the amount of data buffered in memory.
+
+ If manual window management is disabled this call has no effect.
+
+
Parameters:
+
windowSize - How many bytes to increment the sliding window by.
Interface that Native code knows how to call when handling Http Responses
+
+ Maps 1-1 to the Native Http API here:
+ https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
Called from Native once all HTTP Headers are processed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
onResponseHeaders
+
+
voidonResponseHeaders(HttpStreamBase stream,
+ int responseStatusCode,
+ int blockType,
+ HttpHeader[] nextHeaders)
+
Called from Native when new Http Headers have been received.
+ Note that this function may be called multiple times as HTTP headers are
+ received.
+
+
Parameters:
+
stream - The HttpStreamBase object
+
responseStatusCode - The HTTP Response Status Code
+
blockType - The HTTP header block type
+
nextHeaders - The headers received in the latest IO event.
+
+
+
+
+
+
+
onResponseHeadersDone
+
+
defaultvoidonResponseHeadersDone(HttpStreamBase stream,
+ int blockType)
+
Called from Native once all HTTP Headers are processed. Will not be called if
+ there are no Http Headers in the
+ response. Guaranteed to be called exactly once if there is at least 1 Header.
+
+
Parameters:
+
stream - The HttpStreamBase object
+
blockType - The type of the header block, corresponds to
+ HttpHeaderBlock
Called when new Response Body bytes have been received. Note that this
+ function may be called multiple times over
+ the lifetime of an HttpClientConnection as bytes are received.
+
+ Users must read all data from bodyBytesIn before returning. If
+ "bodyBytesIn.remaining() > 0" after this method
+ returns, then Native will assume there was a processing failure and abort the
+ connection.
+
+ Do NOT keep a reference to this ByteBuffer past the lifetime of this function
+ call. The CommonRuntime reserves
+ the right to use DirectByteBuffers pointing to memory that only lives as long
+ as the function call.
+
+ Sliding Window:
+ The Native HttpClientConnection EventLoop will keep sending data until the
+ end of the sliding Window is reached.
+ The user application is responsible for setting the initial Window size
+ appropriately when creating the
+ HttpClientConnection, and for incrementing the sliding window appropriately
+ throughout the lifetime of the HttpStream.
+
+ For more info, see:
+ - https://en.wikipedia.org/wiki/Sliding_window_protocol
+
+
Parameters:
+
stream - The HttpStreamBase the body was delivered to
+
bodyBytesIn - The HTTP Body Bytes received in the last IO Event.
+
Returns:
+
The number of bytes to move the sliding window by. Repeatedly
+ returning zero will eventually cause the
+ sliding window to fill up and data to stop flowing until the user
+ slides the window back open.
Interface that Native code knows how to call when handling Http Responses for HTTP/1.1 only.
+ You can use HttpStreamBaseResponseHandler instead to adapt both HTTP/1.1 and HTTP/2
+
+ Maps 1-1 to the Native Http API here: https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
Called from Native once all HTTP Headers are processed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
onResponseHeaders
+
+
voidonResponseHeaders(HttpStream stream,
+ int responseStatusCode,
+ int blockType,
+ HttpHeader[] nextHeaders)
+
Called from Native when new Http Headers have been received.
+ Note that this function may be called multiple times as HTTP headers are received.
+
+
Parameters:
+
stream - The HttpStream object
+
responseStatusCode - The HTTP Response Status Code
+
blockType - The HTTP header block type
+
nextHeaders - The headers received in the latest IO event.
+
+
+
+
+
+
+
onResponseHeadersDone
+
+
defaultvoidonResponseHeadersDone(HttpStream stream,
+ int blockType)
+
Called from Native once all HTTP Headers are processed. Will not be called if there are no Http Headers in the
+ response. Guaranteed to be called exactly once if there is at least 1 Header.
+
+
Parameters:
+
stream - The HttpStream object
+
blockType - The type of the header block, corresponds to HttpHeaderBlock
Called when new Response Body bytes have been received. Note that this function may be called multiple times over
+ the lifetime of an HttpClientConnection as bytes are received.
+
+ Note that if HttpClientConnectionManagerOptions.withManualWindowManagement(boolean) was set true,
+ you must manage the flow-control window.
+ The flow-control window shrinks as you receive body data via this callback.
+ Whenever the flow-control window reaches zero, data will stop downloading.
+ To keep data flowing, you must increment the window by returning a number
+ from this method, or by calling HttpStreamBase.incrementWindow(int).
+
+
Parameters:
+
stream - The HTTP Stream the body was delivered to
+
bodyBytesIn - The HTTP Body Bytes received in the last IO Event.
+
Returns:
+
The number of bytes to increment the window by
+ (calling HttpStreamBase.incrementWindow(int) has the same effect).
+ This value is ignored if "manual window management" is disabled.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
If set, HttpClientConnectionManager.acquireConnection()
+ will give up after waiting this long for a connection from the pool,
+ failing with error AWS_ERROR_HTTP_CONNECTION_MANAGER_ACQUISITION_TIMEOUT.
If set, HttpClientConnectionManager.acquireConnection() will fail with
+ AWS_ERROR_HTTP_CONNECTION_MANAGER_MAX_PENDING_ACQUISITIONS_EXCEEDED if there are already pending acquisitions
+ equal to `maxPendingConnectionAcquisitions`.
Interface that Native code knows how to call when handling Http Responses
+
+ Maps 1-1 to the Native Http API here:
+ https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
Interface that Native code knows how to call when handling Http Responses
+
+ Maps 1-1 to the Native Http API here:
+ https://github.com/awslabs/aws-c-http/blob/master/include/aws/http/request_response.h
Creates a new ClientBootstrap. Most applications will only ever need one instance of this.
+
+
Parameters:
+
elg - An EventLoopGroup instance, most applications only ever have one
+
hr - A HostResolver 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
+
+
+
+
canReleaseReferencesImmediately
+
+
protectedbooleancanReleaseReferencesImmediately()
+
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.
Closes the static ClientBootstrap, if it exists. Primarily intended for tests that use the static
+ default ClientBootstrap, before they call waitForNoResources().
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.
Creates a new Client TlsContext. There are significant native resources
+ consumed to create a TlsContext, so most applications will only need to
+ create one and re-use it for all connections.
+
+
Parameters:
+
options - A set of options for this context
+
Throws:
+
CrtRuntimeException - If the provided options are malformed or the
+ system is unable to allocate space for a native
+ tls context
Traverse a directory starting at the path provided.
+ If you want the traversal to recurse the entire directory, pass recursive as true. Passing false for this parameter
+ will only iterate the contents of the directory, but will not descend into any directories it encounters.
+
+ If recursive is set to true, the traversal is performed post-order, depth-first
+ (for practical reasons such as deleting a directory that contains subdirectories or files).
+
+ The traversal iteration can be cancelled by the user by returning false from the callback. If the
+ traversal is cancelled either returning false from the callback or an unhandled exception is thrown
+ from the callback, the traverse method will throw a RuntimeException to notify user about incomplete
+ results.
+
+
Parameters:
+
path - directory to traverse.
+
recursive - true to recurse the entire directory, false will only iterate the path specified
+
handler - callback to invoke for each file or directory found during the traversal.
Creates a new event loop group for the I/O subsystem to use to run non-blocking I/O requests
+
+
Parameters:
+
numThreads - The number of threads that the event loop group may run tasks across. Usually 1.
+
Throws:
+
CrtRuntimeException - If the system is unable to allocate space for a native event loop group
+
+
+
+
+
+
+
EventLoopGroup
+
+
publicEventLoopGroup(int cpuGroup,
+ int numThreads)
+ throws CrtRuntimeException
+
Creates a new event loop group for the I/O subsystem to use to run non-blocking I/O requests. When using this
+ constructor, the threads will be pinned to a particular cpuGroup (e.g. a particular NUMA node).
+
+
Parameters:
+
cpuGroup - the index of the cpu group to bind to (for example NUMA node 0 would be 0, NUMA node 1 would be 1 etc...)
+
numThreads - The number of threads that the event loop group may run tasks across. Usually 1.
+
Throws:
+
CrtRuntimeException - If the system is unable to allocate space for a native event loop group
+
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
canReleaseReferencesImmediately
+
+
protectedbooleancanReleaseReferencesImmediately()
+
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.
true if this resource releases synchronously, false if this resource performs async shutdown
+
+
+
+
+
+
+
releaseNativeHandle
+
+
protectedvoidreleaseNativeHandle()
+
Stops the event loop group's tasks and frees all resources associated with the the group. This should be called
+ after all other clients/connections and other resources are cleaned up, or else they will not clean up completely.
public staticvoidsetStaticDefaultNumThreads(int numThreads)
+
Sets the number of threads for the static default event loop group, should it ever be created. Has no
+ effect if the static default event loop group has already been created.
+
+
Parameters:
+
numThreads - number of threads for the static default event loop group
+
+
+
+
+
+
+
closeStaticDefault
+
+
public staticvoidcloseStaticDefault()
+
Closes the static EventLoopGroup, if it exists. Primarily intended for tests that use the static
+ default EventLoopGroup, before they call waitForNoResources().
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
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.
public staticvoidsetStaticDefaultMaxEntries(int maxEntries)
+
Sets the max number of cached host entries for the static default resolver, if it's ever created/used. Has no
+ effect if the static default host resolver has already been created.
+
+
Parameters:
+
maxEntries - maximum number of host entries cached
+
+
+
+
+
+
+
closeStaticDefault
+
+
public staticvoidcloseStaticDefault()
+
Closes the static default host resolver, if it exists. Primarily intended for tests that use the static
+ default resolver, before they call waitForNoResources().
Default behavior that accommodates most use cases.
+
+ C_Initialize() is called on creation, and "already-initialized"
+ errors are ignored. C_Finalize() is never called, just in case
+ another part of your application is still using the PKCS#11 library.
Skip calling C_Initialize() and C_Finalize().
+
+ Use this if your application has already initialized the PKCS#11 library, and
+ you do not want C_Initialize() called again.
C_Initialize() is called on creation and C_Finalize() is
+ called on cleanup.
+
+ If C_Initialize() reports that's it's already initialized, this is
+ treated as an error. Use this if you need perfect cleanup (ex: running
+ valgrind with --leak-check).
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Creates a new Server TlsContext. There are significant native resources
+ consumed to create a TlsContext, so most applications will only need to
+ create one and re-use it for all connections.
+
+
Parameters:
+
options - A set of options for this context
+
Throws:
+
CrtRuntimeException - If the provided options are malformed or the
+ system is unable to allocate space for a native
+ tls context
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Sets the number of milliseconds before a connection will be considered timed out
+
+
+
+
+
+
keepAliveIntervalSecs
+
+
publicintkeepAliveIntervalSecs
+
Sets the number of seconds between TCP keepalive packets being sent to the peer
+ 0 disables keepalive
+
+
+
+
+
+
keepAliveTimeoutSecs
+
+
publicintkeepAliveTimeoutSecs
+
Sets the number of seconds to wait for a keepalive response before considering the connection timed out
+ 0 disables keepalive
+
+
+
+
+
+
keepAliveMaxFailedProbes
+
+
publicintkeepAliveMaxFailedProbes
+
Sets the number of keep alive probes allowed to fail before the connection is considered lost.
+ If zero, OS defaults are used.
+ On Windows, this option is meaningless until Windows 10 1703.
+
+
+
+
+
+
keepAlive
+
+
publicbooleankeepAlive
+
If true, enables periodic transmits of keepalive messages for detecting a disconnected peer.
+
+
+
+
+
+
+
+
+
+
Constructor Details
+
+
+
+
SocketOptions
+
+
publicSocketOptions()
+
Creates a new set of socket options
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
setTcpKeepAlive
+
+
publicvoidsetTcpKeepAlive(int keepAliveTimeoutSecs,
+ int keepAliveIntervalSecs)
+
Enables TCP keepalive.
+
+
Parameters:
+
keepAliveTimeoutSecs - Sets the number of seconds to wait for a keepalive response before considering the
+ connection timed out. 0 disables keepalive.
+
keepAliveIntervalSecs - Sets the number of seconds between TCP keepalive packets being sent to the peer.
+ 0 disables keepalive.
+
+
+
+
+
+
+
setTcpKeepAlive
+
+
publicvoidsetTcpKeepAlive(int keepAliveTimeoutSecs,
+ int keepAliveIntervalSecs,
+ int keepAliveMaxFailedProbes)
+
Enables TCP keepalive.
+
+
Parameters:
+
keepAliveTimeoutSecs - Sets the number of seconds to wait for a keepalive response before considering the
+ connection timed out. 0 disables keepalive.
+
keepAliveIntervalSecs - Sets the number of seconds between TCP keepalive packets being sent to the peer.
+ 0 disables keepalive.
+
keepAliveMaxFailedProbes - Sets the number of keep alive probes allowed to fail before the connection is considered lost.
+ If zero, OS defaults are used.
+ On Windows, this option is meaningless until Windows 10 1703.
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.
A TlsCipherPreference represents a hardcoded ordered list of TLS Ciphers to use when negotiating a TLS Connection.
+
+ At present, the ability to configure arbitrary orderings of TLS Ciphers is not allowed, and only a curated list of
+ vetted TlsCipherPreference's are exposed.
Use whatever the System Default Preference is. This is usually the best option, as it will be automatically
+ updated as the underlying OS or platform changes, and will always be supported on all Platforms.
This TlsCipherPreference supports TLS 1.0 through TLS 1.3, and contains Kyber Round 3 as its highest priority
+ PQ algorithm. PQ algorithms in this preference list will be used in hybrid mode, and will be combined with a
+ classical ECDHE key exchange.
+
+ NIST has announced that Kyber will be first post-quantum key-agreement algorithm that it will standardize.
+ However, the NIST standardization process might introduce minor changes that may cause the final Kyber standard
+ to differ from the Kyber Round 3 implementation available in this preference list.
+
+ Since this TlsCipherPreference contains algorithms that have not yet been officially standardized by NIST, this
+ preference list, and any of the PQ algorithms in it, may stop being supported at any time.
+
+ For more info see:
+ - https://tools.ietf.org/html/draft-campagna-tls-bike-sike-hybrid
+ - https://datatracker.ietf.org/doc/html/draft-ietf-tls-hybrid-design
+ - https://aws.amazon.com/blogs/security/how-to-tune-tls-for-hybrid-post-quantum-cryptography-with-kyber/
+ - https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8413.pdf
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Sets alpn list in the form protocol1;protocol2;.... A maximum of 4
+ protocols are supported.
+ alpnList is copied. This value is already inherited from TlsContext, but the
+ TlsContext is expensive, and should be used across as many connections as
+ possible. If you want to set this per connection, set it here.
+
+
Parameters:
+
alpnList - Semi-colon delimited list of supported ALPN protocols
Sets server name to use for the SNI extension (supported everywhere), as well
+ as x.509 validation. If you don't set this, your x.509 validation will likely
+ fail.
+
+
Parameters:
+
serverName - The server name to use for the SNI extension
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.
Creates a new Client TlsContext. There are significant native resources consumed to create a TlsContext, so most
+ applications will only need to create one and re-use it for all connections.
+
+
Parameters:
+
options - A set of options for this context
+
Throws:
+
CrtRuntimeException - If the provided options are malformed or the system is unable
+ to allocate space for a native tls context
Creates a new Client TlsContext. There are significant native resources consumed to create a TlsContext, so most
+ applications will only need to create one and re-use it for all connections.
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.
Creates a new TlsContextCustomKeyOperationOptions and sets the TlsKeyOperationHandler that
+ will be invoked when there is a TLS key operation that needs to be performed.
Creates a new TlsContextCustomKeyOperationOptions and sets the TlsKeyOperationHandler that
+ will be invoked when there is a TLS key operation that needs to be performed.
+
+ Through the TlsKeyOperationHandler you can add your own private key operations during the
+ mutual TLS handshake.
+
+
Parameters:
+
operationHandler - The operation handler to use when performing a TLS key operation.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Sets the minimum acceptable TLS version that the TlsContext will
+ allow. Not compatible with setCipherPreference() API.
+
+ Select from TlsVersions, a good default is TlsVersions.TLS_VER_SYS_DEFAULTS
+ as this will update if the OS TLS is updated
Sets the ALPN protocol list that will be provided when a TLS connection
+ starts e.g. "x-amzn-mqtt-ca"
+
+
+
+
+
+
verifyPeer
+
+
publicbooleanverifyPeer
+
Set whether or not the peer should be verified. Default is true for clients,
+ and false for servers. If you are in a development or debugging environment,
+ you can disable this to avoid or diagnose trust store issues. This should
+ always be true on clients in the wild. If you set this to true on a server,
+ it will validate every client connection.
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.
Unix platforms only - Helper which creates mutual TLS (mTLS) options using the applied custom key operations. This
+ allows you to perform custom private key operations such as signing and decrypting. This is necessary if you
+ require an external library to handle private key operations.
+
+
Parameters:
+
custom - The options for the custom private key operations
+
Returns:
+
A set of options for creating a custom key operation mTLS connection
Windows platforms only - Helper which creates mutual TLS (mTLS) options using a
+ certificate in a Windows certificate store.
+
+
Parameters:
+
certificatePath - Path to certificate in a Windows certificate store.
+ The path must use backslashes and end with the
+ certificate's thumbprint. Example:
+ CurrentUser\MY\A11F8A9B5DF5B98BA3508FBCA575D09570E0D2C6
+
Returns:
+
A set of options for setting up an mTLS connection
Helper which creates mutual TLS (mTLS) options using a certificate and private key
+ stored in a Java keystore.
+ Will throw an exception if there is no certificate and key at the given certificate alias, or there is some other
+ error accessing or using the passed-in Java keystore.
+
+ Note: function assumes the passed keystore has already been loaded from a file by calling "keystore.load()" or similar.
+
+
Parameters:
+
keyStore - The Java keystore to use. Assumed to be loaded with the desired certificate and key
+
certificateAlias - The alias of the certificate and key to use.
+
certificatePassword - The password of the certificate and key to use.
+
Returns:
+
A set of options for setting up an mTLS connection
+
Throws:
+
CrtRuntimeException - if the certificate alias does not exist or the certificate/key cannot be found in the certificate alias
Unix platforms only, specifies TLS options for custom private key operations. This
+ allows you to perform custom private key operations such as signing and decrypting.
+
+
Parameters:
+
customKeyOperations - The custom private key operations
Windows platforms only, specifies mutual TLS (mTLS) using a certificate in a Windows
+ certificate store.
+
+
Parameters:
+
certificatePath - Path to certificate in a Windows certificate store.
+ The path must use backslashes and end with the
+ certificate's thumbprint. Example:
+ CurrentUser\MY\A11F8A9B5DF5B98BA3508FBCA575D09570E0D2C6
Sets whether or not TLS will validate the certificate from the peer. On clients,
+ this is enabled by default. On servers, this is disabled by default.
+
+
Parameters:
+
verify - true to verify peers, false to ignore certs
Specify the label of the private key object on the PKCS#11 token. If not
+ specified, the key will be chosen based on other criteria (such as being the
+ only available private key on the token).
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
The hash algorithm of a TLS private key operation. Any custom private key operation handlers are expected to perform
+ operations on the input TLS data using the correct hash algorithm or fail the operation.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public final class TlsKeyOperation
+extends Object
+
A class containing a mutual TLS (mTLS) Private Key operation that needs to be performed.
+ This class is passed to TlsKeyOperationHandler if a custom key operation is set.
+
+ You MUST call either complete(output) or completeExceptionally(exception)
+ or the TLS connection will hang forever!
protectedTlsKeyOperation(long nativeHandle,
+ byte[] inputData,
+ int operationType,
+ int signatureAlgorithm,
+ int digestAlgorithm)
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
getInput
+
+
publicbyte[]getInput()
+
Returns the input data from native that needs to be operated on using the private key.
+ You can determine the operation that needs to be performed on the data using the getType function.
+
+
Returns:
+
The input data from native that needs to be operated on
The function to call when you either have an exception and want to complete the operation with an
+ exception or you cannot complete the operation. This will mark the operation as complete with an
+ exception so it can be reacted to accordingly.
Invoked each time a private key operation needs to be performed.
+
+ You MUST call either operation.complete(output) or
+ operation.completeExceptionally(exception) or the TLS connection will hang
+ forever.
+
+ You may complete the operation synchronously, or async. You may complete the
+ operation on any thread.
+
+ The function is always invoked from an IO event-loop thread. Therefore you
+ MUST NOT perform an async call and wait for it in a blocking way from within
+ this function. Such behavior is likely to deadlock your program.
+
+ Additionally, this may be called from multiple times from multiple threads
+ at once, so keep this in mind if using a private key operation that has to
+ be single-threaded and synchronously called.
The signature of a TLS private key operation. Any custom private key operation handlers are expected to perform
+ operations on the input TLS data using the correct signature algorithm or fail the operation.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the URI path encoding of a string. This is the modified version of
+ rfc3986 used by sigv4 signing.
+
+
Parameters:
+
path - The path to be encoded
+
Returns:
+
encoded path
+
+
+
+
+
+
+
appendEncodingUriParam
+
+
public staticStringappendEncodingUriParam(String encoded,
+ String param)
+
Returns a concatenation of an encoded base, and the URI query param encoding
+ (passthrough alnum + '-' '_' '~' '.') of a UTF-8 string. For example, reading
+ "a b_c" would write "a%20b_c".
+
+
Parameters:
+
encoded - The encoded original param.
+
param - The param to be encoded and appended to the original param
Returns a concatenation of a decoded base, and the URI decoding of a UTF-8
+ string, replacing %xx escapes by their single byte equivalent. For example,
+ reading "a%20b_c" would write "a b_c".
+
+
Parameters:
+
base - The decoded base URI.
+
encoded - The encoded URI to be decoded and appended to the base URI.
Returns the URI decoding of a UTF-8 string, replacing %xx escapes by their
+ single byte equivalent. For example, reading "a%20b_c" would write "a b_c".
Returns how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Sets how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Creates a new TlsContextCustomKeyOperationOptions and sets the TlsKeyOperationHandler that
+ will be invoked when there is a TLS key operation that needs to be performed.
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
What kind of jitter or randomization to apply to the backoff time interval
+
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application. It can create any number of connections to
+ any number of MQTT endpoints
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
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.
public class MqttClientConnection
+extends CrtResource
+
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
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.
Returns the total number of operations submitted to the connection that have not yet been completed.
+ Note: Unacked operations are a subset of this.
+
+
Returns:
+
Total number of operations submitted to the connection that have not yet been completed
+
+
+
+
+
+
+
getIncompleteOperationSize
+
+
publiclonggetIncompleteOperationSize()
+
Returns the total packet size of operations submitted to the connection that have not yet been completed.
+ Note: Unacked operations are a subset of this.
+
+
Returns:
+
Total packet size of operations submitted to the connection that have not yet been completed
+
+
+
+
+
+
+
getUnackedOperationCount
+
+
publiclonggetUnackedOperationCount()
+
Returns the total number of operations that have been sent and are waiting for a corresponding ACK before
+ they can be completed.
+
+
Returns:
+
Total number of operations that have been sent and are waiting for a corresponding ACK
+
+
+
+
+
+
+
getUnackedOperationSize
+
+
publiclonggetUnackedOperationSize()
+
Returns the total packet size of operations that have been sent and are waiting for a corresponding ACK before
+ they can be completed.
+
+
Returns:
+
Total packet size of operations that have been sent and are waiting for a corresponding ACK
Override that determines whether a resource releases its dependencies at the same time the native handle is released or if it waits.
+ Resources with asynchronous shutdown processes should override this with false, and establish a callback from native code that
+ invokes releaseReferences() when the asynchronous shutdown process has completed. See HttpClientConnectionManager for an example.
Queries the MQTT keep-alive via PING messages. Please use
+ getKeepAliveSecs instead.
+
+
+
Returns:
+
How often in milliseconds to send an MQTT PING message to the
+ service to keep a connection alive
+
+
+
+
+
+
+
setKeepAliveSecs
+
+
publicvoidsetKeepAliveSecs(int keepAliveSecs)
+
Configures MQTT keep-alive via PING messages. Note that this is not TCP
+ keepalive. Note: AWS IoT Core only allows 30-1200 Secs. Anything larger than
+ 65535 will be capped.
+
+
Parameters:
+
keepAliveSecs - How often in seconds to send an MQTT PING message to the
+ service to keep a connection alive
+
+
+
+
+
+
+
getKeepAliveSecs
+
+
publicintgetKeepAliveSecs()
+
Queries the MQTT keep-alive via PING messages.
+
+
Returns:
+
How often in seconds to send an MQTT PING message to the
+ service to keep a connection alive
+
+
+
+
+
+
+
setPingTimeoutMs
+
+
publicvoidsetPingTimeoutMs(int pingTimeoutMs)
+
Configures ping timeout value. If a response is not received within this
+ interval, the connection will be reestablished.
+
+
Parameters:
+
pingTimeoutMs - How long to wait for a ping response (in milliseconds) before resetting the connection
+
+
+
+
+
+
+
getPingTimeoutMs
+
+
publicintgetPingTimeoutMs()
+
Queries ping timeout value. If a response is not received within this
+ interval, the connection will be reestablished.
+
+
Returns:
+
How long to wait for a ping response before resetting the connection
+
+
+
+
+
+
+
setReconnectTimeoutSecs
+
+
publicvoidsetReconnectTimeoutSecs(long minTimeoutSecs,
+ long maxTimeoutSecs)
+
Configures the minimum and maximum reconnect timeouts.
+
+ The time between reconnect attempts will start at min and multiply by 2 until max is reached.
+ Default value for min is 1, for max 128. Set either one to zero will use the default setting.
+
+
Parameters:
+
minTimeoutSecs - The timeout to start with
+
maxTimeoutSecs - The highest allowable wait time between reconnect attempts
+
+
+
+
+
+
+
getMinReconnectTimeoutSecs
+
+
publiclonggetMinReconnectTimeoutSecs()
+
Return the minimum reconnect timeout.
+
+
Returns:
+
The timeout to start with
+
+
+
+
+
+
+
getMaxReconnectTimeoutSecs
+
+
publiclonggetMaxReconnectTimeoutSecs()
+
Return the maximum reconnect timeout.
+
+
Returns:
+
The highest allowable wait time between reconnect attempts
Configures timeout value for requests that response is required on healthy connection.
+ If a response is not received within this interval, the request will fail as server not receiving it.
+ Applied to publish (QoS>0) and unsubscribe
+
+
Parameters:
+
protocolOperationTimeoutMs - How long to wait for a request response (in milliseconds) before failing
+
+
+
+
+
+
+
getProtocolOperationTimeoutMs
+
+
publicintgetProtocolOperationTimeoutMs()
+
Queries timeout value for requests that response is required on healthy connection.
+ If a response is not received within this interval, the request will fail as server not receiving it.
+ Applied to publish (QoS>0) and unsubscribe
+
+
Returns:
+
How long to wait for a request response (in milliseconds) before failing
Set a transform operation to use on each websocket handshake http request.
+ The transform may modify the http request before it is sent to the server.
+ The transform MUST call handshakeTransform.complete() or handshakeTransform.completeExceptionally()
+ when the transform is complete, failure to do so will stall the mqtt connection indefinitely.
+ The transform operation may be asynchronous.
+
+ The default websocket handshake http request uses path "/mqtt".
+ All required headers for a websocket handshake are present,
+ plus the optional header "Sec-WebSocket-Protocol: mqtt".
+
+ This is only applicable to websocket-based mqtt connections.
retain - Retain flag. When sending, whether the message should be
+ retained by the broker and delivered to future subscribers.
+ When receiving, whether the message was sent as a result of a
+ new subscription being made.
+
dup - DUP flag. Ignored when sending. When receiving, indicates
+ whether this might be re-delivery of an earlier attempt to
+ send the message.
retain - Retain flag. When sending, whether the message should be
+ retained by the broker and delivered to future subscribers.
+ When receiving, whether the message was sent as a result of a
+ new subscription being made.
Gets the retain flag. When sending, whether the message should be retained by
+ the broker and delivered to future subscribers. When receiving, whether the
+ message was sent as a result of a new subscription being made.
+
+
Returns:
+
Retain flag
+
+
+
+
+
+
+
getDup
+
+
publicbooleangetDup()
+
Gets the DUP flag. Ignored when sending. When receiving, indicates whether
+ this might be re-delivery of an earlier attempt to send the message.
Constructs a new OnConnectionSuccessReturn with a session present.
+
+
Parameters:
+
sessionPresent - whether a session was present and resumed
+
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
getSessionPresent
+
+
publicbooleangetSessionPresent()
+
Returns whether a session was present and resumed for this successful connection.
+ Will be set to true if the connection resumed an already present MQTT connection session.
Message will be delivered at least once. It may be resent multiple times if errors occur before an ACK is
+ returned to the sender. The message will be stored in case it has to be re-sent. This is the most common QualityOfService.
The message is always delivered exactly once. This is the safest, but slowest QualityOfService, because multiple levels
+ of handshake must happen to guarantee no duplication of messages.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public final class WebsocketHandshakeTransformArgs
+extends Object
+
Arguments to a websocket handshake transform operation.
+ The transform may modify the http request before it is sent to the server.
+ The transform MUST call complete() or completeExceptionally() when the transform is complete,
+ failure to do so will stall the mqtt connection indefinitely.
+ The transform operation may be asynchronous.
+
+ The default websocket handshake http request uses path "/mqtt".
+ All required headers for a websocket handshake are present,
+ plus the optional header "Sec-WebSocket-Protocol: mqtt".
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionalities
+ via the AWS Common Runtime
+
+ One MqttClient class is needed per application.
This class wraps aws-c-mqtt to provide the basic MQTT pub/sub functionality
+ via the AWS Common Runtime
+
+ MqttClientConnection represents a single connection from one MqttClient to an
+ MQTT service endpoint
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
+
+
+
+
+
+
+
+
Nested Class Summary
+
+
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Creates a Mqtt5Client instance using the provided Mqtt5ClientOptions. Once the Mqtt5Client is created,
+ changing the settings will not cause a change in already created Mqtt5Client's.
+
+
Parameters:
+
options - The Mqtt5Options class to use to configure the new Mqtt5Client.
+
Throws:
+
CrtRuntimeException - If the system is unable to allocate space for a native MQTT5 client structure
+
+
+
+
+
+
+
+
+
+
+
Method Details
+
+
+
+
releaseNativeHandle
+
+
protectedvoidreleaseNativeHandle()
+
Cleans up the native resources associated with this client. The client is unusable after this call
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.
Notifies the Mqtt5Client that you want it maintain connectivity to the configured endpoint.
+ The client will attempt to stay connected using the properties of the reconnect-related parameters
+ in the Mqtt5Client configuration.
+
+ This is an asynchronous operation.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
+
+ This is an asynchronous operation.
+
+
Parameters:
+
disconnectPacket - (optional) Properties of a DISCONNECT packet to send as part of the shutdown process. When
+ disconnectPacket is null, no DISCONNECT packets will be sent.
+
Throws:
+
CrtRuntimeException - If the native client is unable to initialize the stop process.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts. No DISCONNECT packets will be sent.
+
+ This is an asynchronous operation.
+
+
Throws:
+
CrtRuntimeException - If the native client is unable to initialize the stop process.
Tells the Mqtt5Client to attempt to send a PUBLISH packet.
+
+ Will return a future containing a PublishPacket if the publish is successful.
+ The data in the PublishPacket varies depending on the QoS of the Publish. For QoS 0, the PublishPacket
+ will not contain data. For QoS 1, the PublishPacket will contain a PubAckPacket.
+ See PublishPacket class documentation for more info.
+
+
Parameters:
+
publishPacket - PUBLISH packet to send to the server
+
Returns:
+
A future that will be rejected with an error or resolved with a PublishResult response
Controls how disconnects affect the queued and in-progress operations tracked by the client. Also controls
+ how operations are handled while the client is not connected. In particular, if the client is not connected,
+ then any operation that would be failed on disconnect (according to these rules) will be rejected.
All operations that are not complete at the time of disconnection are failed, except operations that
+ the MQTT5 spec requires to be retransmitted (un-acked QoS1+ publishes).
Re-queues QoS 1+ publishes on disconnect; un-acked publishes go to the front while unprocessed publishes stay
+ in place. All other operations (QoS 0 publishes, subscribe, unsubscribe) are failed.
QoS 0 publishes that are not complete at the time of disconnection are failed. Un-acked QoS 1+ publishes are
+ re-queued at the head of the line for immediate retransmission on a session resumption. All other operations
+ are requeued in original order behind any retransmissions.
All operations that are not complete at the time of disconnection are failed, except operations that
+ the MQTT5 spec requires to be retransmitted (un-acked QoS1+ publishes).
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Always attempt to rejoin an existing session after an initial connection success.
+
+ Session rejoin requires an appropriate non-zero session expiry interval in the client's CONNECT options.
Always attempt to rejoin an existing session. Since the client does not yet support durable session persistence,
+ this option is not guaranteed to be spec compliant because any unacknowledged qos1 publishes (which are
+ part of the client session state) will not be present on the initial connection. Until we support
+ durable session resumption, this option is technically spec-breaking, but useful.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
Apply additional client-side validation and operational flow control that respects the
+ default AWS IoT Core limits.
+
+ Currently applies the following additional validation:
+
+
+
No more than 8 subscriptions per SUBSCRIBE packet
+
Topics and topic filters have a maximum of 7 slashes (8 segments), not counting any AWS rules prefix
+
Topics must be 256 bytes or less in length
+
Client id must be 128 or less bytes in length
+
+
+ Also applies the following flow control:
+
+
+
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Sets the additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Sets how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Sets the socket properties of the underlying MQTT connections made by the client. Leave null to use
+ defaults (no TCP keep alive, 10 second socket timeout).
+
+
Parameters:
+
socketOptions - The socket properties of the underlying MQTT connections made by the client.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the socket options
Sets all configurable options with respect to the CONNECT packet sent by the client, including the Will. These
+ connect properties will be used for every connection attempt made by the client.
+
+
Parameters:
+
connectOptions - Configurable options with respect to the CONNECT packet sent by the client, including the Will.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the connect options
Sets the additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
+
+
Parameters:
+
extendedValidationAndFlowControlOptions - Additional controls for client behavior with respect to operation validation and flow control
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the ExtendedValidationAndFlowControlOptions
Sets how disconnects affect the queued and in-progress operations tracked by the client. Also controls
+ how new operations are handled while the client is not connected. In particular, if the client is not connected,
+ then any operation that would be failed on disconnect (according to these rules) will also be rejected.
+
+
Parameters:
+
offlineQueueBehavior - How disconnects affect the queued and in-progress operations tracked by the client
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the ClientOfflineQueueBehavior
Sets how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
+
+
Parameters:
+
retryJitterMode - How the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the JitterMode
Sets the minimum amount of time to wait to reconnect after a disconnect. Exponential back-off is performed with jitter
+ after each connection failure.
+
+
Parameters:
+
minReconnectDelayMs - The minimum amount of time to wait to reconnect after a disconnect.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the minimum reconnect delay
Sets the maximum amount of time to wait to reconnect after a disconnect. Exponential back-off is performed with jitter
+ after each connection failure.
+
+
Parameters:
+
maxReconnectDelayMs - The maximum amount of time to wait to reconnect after a disconnect
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the maximum reconnect delay
Sets the time interval to wait after sending a PINGREQ for a PINGRESP to arrive. If one does not arrive, the client will
+ close the current connection.
+
+
Parameters:
+
pingTimeoutMs - The time interval to wait after sending a PINGREQ for a PINGRESP to arrive.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the ping timeout time
Sets the callback that allows a custom transformation of the HTTP request that acts as the websocket handshake.
+ Websockets will be used if this is set to a valid transformation callback. To use websockets but not perform
+ a transformation, just set this as a trivial completion callback. If null, the connection will be made
+ with direct MQTT.
+
+
Parameters:
+
handshakeTransform - Callback that allows a custom transformation of the HTTP request that acts as the websocket handshake.
+
Returns:
+
The Mqtt5ClientOptionsBuilder after setting the websocket handshake transform callback
Returns a Mqtt5ClientOptions class configured with all of the options set in the Mqtt5ClientOptionsBuilder.
+ This can then be used to make a new Mqtt5Client.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
Returns the additional controls for client behavior with respect to operation validation and flow control;
+ these checks go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Returns how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Returns all configurable options with respect to the CONNECT packet sent by the client, including the will. These
+ connect properties will be used for every connection attempt made by the client.
+
+
Returns:
+
all configurable options with respect to the CONNECT packet sent by the client, including the will
Returns the additional controls for client behavior with respect to operation validation and flow control;
+ these checks go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
+
+
Returns:
+
The additional controls for client behavior with respect to operation validation and flow control
Returns how disconnects affect the queued and in-progress operations tracked by the client. Also controls
+ how new operations are handled while the client is not connected. In particular, if the client is not connected,
+ then any operation that would be failed on disconnect (according to these rules) will also be rejected.
+
+
Returns:
+
How disconnects affect the queued and in-progress operations tracked by the client.
Returns how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
+
+
Returns:
+
how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
Returns the minimum amount of time to wait to reconnect after a disconnect.
+ Exponential back-off is performed with jitter after each connection failure.
+
+
Returns:
+
The minimum amount of time to wait to reconnect after a disconnect.
Returns the maximum amount of time to wait to reconnect after a disconnect. Exponential back-off is performed with jitter
+ after each connection failure.
+
+
Returns:
+
The maximum amount of time to wait to reconnect after a disconnect
Returns the amount of time that must elapse with an established connection before the reconnect delay is reset to the minimum.
+ This helps alleviate bandwidth-waste in fast reconnect cycles due to permission failures on operations.
+
+
Returns:
+
The amount of time that must elapse with an established connection before the reconnect delay is reset to the minimum
Returns the time interval to wait after sending a PINGREQ for a PINGRESP to arrive. If one does not arrive, the client will
+ close the current connection.
+
+
Returns:
+
time interval to wait after sending a PINGREQ for a PINGRESP to arrive.
Returns the callback that allows a custom transformation of the HTTP request which acts as the websocket handshake.
+ Websockets will be used if this is set to a valid transformation callback. To use websockets but not perform
+ a transformation, just set this as a trivial completion callback. If null, the connection will be made
+ with direct MQTT.
+
+
Returns:
+
The custom transformation of the HTTP request that acts as the websocket handshake or null.
public final class Mqtt5WebsocketHandshakeTransformArgs
+extends Object
+
Arguments to a websocket handshake transform operation.
+ The transform may modify the http request before it is sent to the server.
+ The transform MUST call complete() or completeExceptionally() when the transform is complete,
+ failure to do so will stall the mqtt connection indefinitely.
+ The transform operation may be asynchronous.
+
+ The default websocket handshake http request uses path "/mqtt".
+ All required headers for a websocket handshake are present,
+ plus the optional header "Sec-WebSocket-Protocol: mqtt".
MQTT behavior settings that are dynamically negotiated as part of the CONNECT/CONNACK exchange.
+
+ While you can infer all of these values from a combination of
+ (1) defaults as specified in the MQTT5 spec
+ (2) your CONNECT settings
+ (3) the CONNACK from the broker
+
+ the client instead does the combining for you and emits a NegotiatedSettings object with final, authoritative values.
+
+ Negotiated settings are communicated with every successful connection establishment.
Returns the maximum QoS allowed for publishes on this connection instance
+
+
+
+
+
+
+
getSessionExpiryIntervalSeconds
+
+
publiclonggetSessionExpiryIntervalSeconds()
+
+
Returns:
+
Returns the amount of time in seconds the server will retain the MQTT session after a disconnect.
+
+
+
+
+
+
+
getSessionExpiryInterval
+
+
publiclonggetSessionExpiryInterval()
+
Deprecated.
+
prefer getSessionExpiryIntervalSeconds instead
+
+
+
Returns:
+
Returns the amount of time in seconds the server will retain the MQTT session after a disconnect.
+
+
+
+
+
+
+
getReceiveMaximumFromServer
+
+
publicintgetReceiveMaximumFromServer()
+
+
Returns:
+
Returns the number of in-flight QoS 1 and QoS 2 publications the server is willing to process concurrently.
+
+
+
+
+
+
+
getMaximumPacketSizeToServer
+
+
publiclonggetMaximumPacketSizeToServer()
+
+
Returns:
+
Returns the maximum packet size the server is willing to accept.
+
+
+
+
+
+
+
getTopicAliasMaximumToServer
+
+
publicintgetTopicAliasMaximumToServer()
+
+
Returns:
+
returns the maximum allowed topic alias value on publishes sent from client to server
+
+
+
+
+
+
+
getTopicAliasMaximumToClient
+
+
publicintgetTopicAliasMaximumToClient()
+
+
Returns:
+
returns the maximum allowed topic alias value on publishes sent from server to client
+
+
+
+
+
+
+
getServerKeepAliveSeconds
+
+
publicintgetServerKeepAliveSeconds()
+
Returns the maximum amount of time in seconds between client packets. The client should use PINGREQs to ensure this
+ limit is not breached. The server will disconnect the client for inactivity if no MQTT packet is received
+ in a time interval equal to 1.5 x this value.
+
+
Returns:
+
The maximum amount of time in seconds between client packets.
+
+
+
+
+
+
+
getServerKeepAlive
+
+
publicintgetServerKeepAlive()
+
Deprecated.
+
prefer getServerKeepAliveSeconds
+
+
Returns the maximum amount of time in seconds between client packets. The client should use PINGREQs to ensure this
+ limit is not breached. The server will disconnect the client for inactivity if no MQTT packet is received
+ in a time interval equal to 1.5 x this value.
+
+
Returns:
+
The maximum amount of time in seconds between client packets.
+
+
+
+
+
+
+
getRetainAvailable
+
+
publicbooleangetRetainAvailable()
+
+
Returns:
+
Returns whether the server supports retained messages.
+
+
+
+
+
+
+
getWildcardSubscriptionsAvailable
+
+
publicbooleangetWildcardSubscriptionsAvailable()
+
+
Returns:
+
Returns whether the server supports wildcard subscriptions.
Returns the final client id in use by the newly-established connection. This will be the configured client id if one
+ was given in the configuration, otherwise, if no client id was specified, this will be the client id assigned
+ by the server. Reconnection attempts will always use the auto-assigned client id, allowing for auto-assigned
+ session resumption.
+
+
Returns:
+
The final client id in use by the newly-established connection
public class OnAttemptingConnectReturn
+extends Object
+
The data returned when AttemptingConnect is invoked in the LifecycleEvents callback.
+ Currently empty, but may be used in the future for passing additional data.
public class OnConnectionFailureReturn
+extends Object
+
The data returned when OnConnectionFailure is invoked in the LifecycleEvents callback.
+ The data contained within can be gotten using the get functions.
+ For example, getConnAckPacket will return the ConnAckPacket from the server.
public class OnConnectionSuccessReturn
+extends Object
+
The data returned when OnConnectionSuccess is invoked in the LifecycleEvents callback.
+ The data contained within can be gotten using the get functions.
+ For example, getResultPublishPacket will return the PublishPacket from the server.
public class OnDisconnectionReturn
+extends Object
+
The data returned when OnDisconnect is invoked in the LifecycleEvents callback.
+ The data contained within can be gotten using the get functions.
+ For example, getDisconnectPacket will return the DisconnectPacket from the server.
The data returned when OnStopped is invoked in the LifecycleEvents callback.
+ Currently empty, but may be used in the future for passing additional data.
The type of data returned after calling Publish on an MQTT5 client. The type returned from a publish
+ varies based on the QoS settings of the message sent.
PublishResult result was a publish acknowledgment (PubAck - QoS 1)
+ This means the PublishResult has a PubAck and getValue will return
+ the PubAckPacket associated with the publish.
PublishResult result was a publish acknowledgment (PubAck - QoS 1)
+ This means the PublishResult has a PubAck and getValue will return
+ the PubAckPacket associated with the publish.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
The type of data returned after calling Publish on an Mqtt5Client. The data contained varies depending
+ on the publish and its configuration. Use getType() to figure out what type of data is contained and either
+ getData() to get the data and cast it, or call getResult[Type name here]() to get the data already cast.
Returns the type of data that was returned after calling Publish on the Mqtt5Client.
+ You can use this information to determine what type of data is contained and either
+ getData() to get the data and cast it, or call getResult[Type name here]() to
+ get the data already cast.
Returns the data contained in the PubAck result. This is based on the PublishResultType,
+ which is determined by the QoS setting in the published message.
+
+ Note: To get the data type from this function, you will need to cast. For example, to get
+ the PubAck from result type of PUBACK, you will need to use the following:
+ PubAckPacket packet = (PubAckPacket)getValue()
The data returned when a publish is made to a topic the MQTT5 client is subscribed to.
+ The data contained within can be gotten using the get functions.
+ For example, getPublishPacket will return the PublishPacket received from the server.
The message is delivered according to the capabilities of the underlying network. No response is sent by the
+ receiver and no retry is performed by the sender. The message arrives at the receiver either once or not at all.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
An enumeration that controls whether or not the client allows the broker to send publishes that use topic
+ aliasing.
+
+ Topic alias behavior is described in https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901113
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
An enumeration that controls how the client applies topic aliasing to outbound publish packets.
+
+ Topic alias behavior is described in MQTT5 Topic Aliasing
Outbound aliasing is the user's responsibility. Client will cache and use
+ previously-established aliases if they fall within the negotiated limits of the connection.
+
+ The user must still always submit a full topic in their publishes because disconnections disrupt
+ topic alias mappings unpredictably. The client will properly use a requested alias when the most-recently-seen
+ binding for a topic alias value matches the alias and topic in the publish packet.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Controls what kind of outbound topic aliasing behavior the client should attempt to use.
+
+ If topic aliasing is not supported by the server, this setting has no effect and any attempts to directly
+ manipulate the topic alias id in outbound publishes will be ignored.
+
+ By default, outbound topic aliasing is disabled.
If outbound topic aliasing is set to LRU, this controls the maximum size of the cache. If outbound topic
+ aliasing is set to LRU and this is zero or undefined, a sensible default is used (25). If outbound topic
+ aliasing is not set to LRU, then this setting has no effect.
+
+ The final size of the cache is determined by the minimum of this setting and the value of the
+ topic_alias_maximum property of the received CONNACK. If the received CONNACK does not have an explicit
+ positive value for that field, outbound topic aliasing is disabled for the duration of that connection.
+
+
Parameters:
+
size - maximum size to use for the outbound alias cache
Controls whether or not the client allows the broker to use topic aliasing when sending publishes. Even if
+ inbound topic aliasing is enabled, it is up to the server to choose whether or not to use it.
+
+ If left undefined, then inbound topic aliasing is disabled.
If inbound topic aliasing is enabled, this will control the size of the inbound alias cache. If inbound
+ aliases are enabled and this is zero or undefined, then a sensible default will be used (25). If inbound
+ aliases are disabled, this setting has no effect.
+
+ Behaviorally, this value overrides anything present in the topic_alias_maximum field of
+ the CONNECT packet options.
+
+
Parameters:
+
size - maximum size to use for the inbound alias cache
Returns the additional controls for client behavior with respect to operation validation and flow control;
+ these checks go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Sets the additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Sets the additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the base MQTT5 spec to respect limits of specific MQTT brokers.
Sets how the reconnect delay is modified in order to smooth out the distribution of reconnection attempt
+ time points for a large set of reconnecting clients.
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
This class wraps the aws-c-mqtt MQTT5 client to provide the basic MQTT5 pub/sub functionalities
+ via the AWS Common Runtime
+
+ One Mqtt5Client class creates one connection.
Additional controls for client behavior with respect to operation validation and flow control; these checks
+ go beyond the MQTT5 spec to respect limits of specific MQTT brokers.
Returned when the authentication method used in the connection is either nor supported on the server or it does
+ not match the authentication method currently in use in the ConnectPacket.
Returned when the authentication method used in the connection is either nor supported on the server or it does
+ not match the authentication method currently in use in the ConnectPacket.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Returns a time interval, in seconds, that the server will persist this connection's MQTT session state
+ for. If present, this value overrides any session expiry specified in the preceding ConnectPacket.
+
+ See MQTT5 Session Expiry Interval
+
+
Returns:
+
A time interval, in seconds, that the server will persist this connection's MQTT session state for.
Returns a time interval, in seconds, that the server will persist this connection's MQTT session state
+ for. If present, this value overrides any session expiry specified in the preceding ConnectPacket.
+
+ See MQTT5 Session Expiry Interval
+
+
Returns:
+
A time interval, in seconds, that the server will persist this connection's MQTT session state for.
Returns the maximum amount of in-flight QoS 1 or 2 messages that the server is willing to handle at once. If omitted or null,
+ the limit is based on the valid MQTT packet id space (65535).
+
+ See MQTT5 Receive Maximum
+
+
Returns:
+
The maximum amount of in-flight QoS 1 or 2 messages that the server is willing to handle at once.
Returns the maximum packet size, in bytes, that the server is willing to accept. If null, there
+ is no limit beyond what is imposed by the MQTT spec itself.
+
+ See MQTT5 Maximum Packet Size
+
+
Returns:
+
The maximum packet size, in bytes, that the server is willing to accept.
Returns a client identifier assigned to this connection by the server. Only valid when the client id of
+ the preceding ConnectPacket was left empty.
+
+ See MQTT5 Assigned Client Identifier
+
+
Returns:
+
Client identifier assigned to this connection by the server
Returns whether the server supports wildcard subscriptions. If null, wildcard subscriptions
+ are supported.
+
+ See MQTT5 Wildcard Subscriptions Available
+
+
Returns:
+
Whether the server supports wildcard subscriptions.
Returns whether the server supports subscription identifiers. If null, subscription identifiers
+ are supported.
+
+ See MQTT5 Subscription Identifiers Available
+
+
Returns:
+
whether the server supports subscription identifiers.
Returns whether the server supports shared subscription topic filters. If null, shared subscriptions
+ are supported.
+
+ See MQTT5 Shared Subscriptions Available
+
+
Returns:
+
whether the server supports shared subscription topic filters.
Returns server-requested override of the keep alive interval, in seconds. If null, the keep alive value sent
+ by the client should be used.
+
+ See MQTT5 Server Keep Alive
+
+
Returns:
+
Server-requested override of the keep alive interval, in seconds
Returns server-requested override of the keep alive interval, in seconds. If null, the keep alive value sent
+ by the client should be used.
+
+ See MQTT5 Server Keep Alive
+
+
Returns:
+
Server-requested override of the keep alive interval, in seconds
Returns a value that can be used in the creation of a response topic associated with this connection. MQTT5-based
+ request/response is outside the purview of the MQTT5 spec and this client.
+
+ See MQTT5 Response Information
+
+
Returns:
+
A value that can be used in the creation of a response topic associated with this connection.
Returns property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint. Will only be set if the reason code indicates another
+ server may be used (ServerMoved, UseAnotherServer).
+
+ See MQTT5 Server Reference
+
+
Returns:
+
Property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
public static final class ConnectPacket.ConnectPacketBuilder
+extends Object
+
A class to that allows for the creation of a ConnectPacket. Set all of the settings you want in the
+ packet and then use the build() function to get a ConnectPacket populated with the settings
+ defined in the builder.
Sets the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
Sets whether requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Sets the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Sets the time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
Sets the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next. The client will use
+ PINGREQ packets to maintain this property.
+
+ If the responding ConnAckPacket contains a keep alive property value, then that is the negotiated keep alive value.
+ Otherwise, the keep alive sent by the client is the negotiated value.
+
+ See MQTT5 Keep Alive
+
+ NOTE: The keepAliveIntervalSeconds HAS to be larger than the pingTimeoutMs time set in the Mqtt5ClientOptions.
+
+
Parameters:
+
keepAliveInteralSeconds - the maximum time interval, in seconds, that is permitted to elapse between the point
+ at which the client finishes transmitting one MQTT packet and the point it starts sending the next.
+
Returns:
+
The ConnectPacketBuilder after setting the keep alive interval.
Sets the unique string identifying the client to the server. Used to restore session state between connections.
+
+ If left empty, the broker will auto-assign a unique client id. When reconnecting, the Mqtt5Client will
+ always use the auto-assigned client id.
+
+ See MQTT5 Client Identifier
+
+
Parameters:
+
clientId - A unique string identifying the client to the server.
+
Returns:
+
The ConnectPacketBuilder after setting the client ID.
Sets the time interval, in seconds, that the client requests the server to persist this connection's MQTT session state
+ for. Has no meaning if the client has not been configured to rejoin sessions. Must be non-zero in order to
+ successfully rejoin a session.
+
+ If the responding ConnAckPacket contains a session expiry property value, then that is the negotiated session expiry
+ value. Otherwise, the session expiry sent by the client is the negotiated value.
+
+ See MQTT5 Session Expiry Interval
+
+
Parameters:
+
sessionExpiryIntervalSeconds - A time interval, in seconds, that the client requests the server to persist this
+ connection's MQTT session state for.
+
Returns:
+
The ConnectPacketBuilder after setting the session expiry interval.
Sets whether requests that the server send response information in the subsequent ConnAckPacket. This response
+ information may be used to set up request-response implementations over MQTT, but doing so is outside
+ the scope of the MQTT5 spec and client.
+
+ See MQTT5 Request Response Information
+
+
Parameters:
+
requestResponseInformation - If true, requests that the server send response information in the subsequent ConnAckPacket.
+
Returns:
+
The ConnectPacketBuilder after setting the request response information.
Sets whether requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
+
+ See MQTT5 Request Problem Information
+
+
Parameters:
+
requestProblemInformation - If true, requests that the server send additional diagnostic information
+ (via response string or user properties) in DisconnectPacket or ConnAckPacket from the server.
+
Returns:
+
The ConnectPacketBuilder after setting the request problem information.
Sets the maximum number of in-flight QoS 1 and 2 messages the client is willing to handle. If
+ omitted or null, then no limit is requested.
+
+ See MQTT5 Receive Maximum
+
+
Parameters:
+
receiveMaximum - The maximum number of in-flight QoS 1 and 2 messages the client is willing to handle.
+
Returns:
+
The ConnectPacketBuilder after setting the receive maximum.
Sets the maximum packet size the client is willing to handle. If
+ omitted or null, then no limit beyond the natural limits of MQTT packet size is requested.
+
+ See MQTT5 Maximum Packet Size
+
+
Parameters:
+
maximumPacketSizeBytes - The maximum packet size the client is willing to handle
+
Returns:
+
The ConnectPacketBuilder after setting the maximum packet size.
Sets the time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session. If omitted or null, the server will send the will when the
+ associated session is destroyed. If the session is destroyed before a will delay interval has elapsed, then
+ the will must be sent at the time of session destruction.
+
+ See MQTT5 Will Delay Interval
+
+
Parameters:
+
willDelayIntervalSeconds - A time interval, in seconds, that the server should wait (for a session reconnection)
+ before sending the will message associated with the connection's session.
+
Returns:
+
The ConnectPacketBuilder after setting the will message delay interval.
Sets the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first. If null, then nothing will be sent.
+
+ See MQTT5 Will
+
+
Parameters:
+
will - The message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
+
Returns:
+
The ConnectPacketBuilder after setting the will message.
Returns the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
Returns a boolean that, if true, requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Returns the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Returns a time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
Returns the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next. The client will use
+ PINGREQ packets to maintain this property.
+
+ If the responding ConnAckPacket contains a keep alive property value, then that is the negotiated keep alive value.
+ Otherwise, the keep alive sent by the client is the negotiated value.
+
+ See MQTT5 Keep Alive
+
+
Returns:
+
The maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
Returns a unique string identifying the client to the server. Used to restore session state between connections.
+
+ If left empty, the broker will auto-assign a unique client id. When reconnecting, the Mqtt5Client will
+ always use the auto-assigned client id.
+
+ See MQTT5 Client Identifier
+
+
Returns:
+
A unique string identifying the client to the server.
Returns a time interval, in seconds, that the client requests the server to persist this connection's MQTT session state
+ for. Has no meaning if the client has not been configured to rejoin sessions. Must be non-zero in order to
+ successfully rejoin a session.
+
+ If the responding ConnAckPacket contains a session expiry property value, then that is the negotiated session expiry
+ value. Otherwise, the session expiry sent by the client is the negotiated value.
+
+ See MQTT5 Session Expiry Interval
+
+
Returns:
+
A time interval, in seconds, that the client requests the server to persist this connection's MQTT session
+ state for.
Returns a boolean that, if true, requests that the server send response information in the subsequent ConnAckPacket. This response
+ information may be used to set up request-response implementations over MQTT, but doing so is outside
+ the scope of the MQTT5 spec and client.
+
+ See MQTT5 Request Response Information
+
+
Returns:
+
If true, requests that the server send response information in the subsequent ConnAckPacket.
Returns a boolean that, if true, requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
+
+ See MQTT5 Request Problem Information
+
+
Returns:
+
If true, requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Returns the maximum number of in-flight QoS 1 and 2 messages the client is willing to handle. If
+ omitted or null, then no limit is requested.
+
+ See MQTT5 Receive Maximum
+
+
Returns:
+
The maximum number of in-flight QoS 1 and 2 messages the client is willing to handle.
Returns the maximum packet size the client is willing to handle. If
+ omitted or null, then no limit beyond the natural limits of MQTT packet size is requested.
+
+ See MQTT5 Maximum Packet Size
+
+
Returns:
+
The maximum packet size the client is willing to handle
Returns a time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session. If omitted or null, the server will send the will when the
+ associated session is destroyed. If the session is destroyed before a will delay interval has elapsed, then
+ the will must be sent at the time of session destruction.
+
+ See MQTT5 Will Delay Interval
+
+
Returns:
+
A time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
Returns the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first. If null, then nothing will be sent.
+
+ See MQTT5 Will
+
+
Returns:
+
The message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
public static final class DisconnectPacket.DisconnectPacketBuilder
+extends Object
+
A class to that allows for the creation of a DisconnectPacket. Set all of the settings you want in the
+ packet and then use the build() function to get a DisconnectPacket populated with the settings
+ defined in the builder.
Sets the property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Sets the change to the session expiry interval negotiated at connection time as part of the disconnect. Only
+ valid for DisconnectPackets sent from client to server. It is not valid to attempt to change session expiry
+ from zero to a non-zero value.
+
+ See MQTT5 Session Expiry Interval
+
+
Parameters:
+
sessionExpiryIntervalSeconds - the session expiry interval negotiated at connection time as part of the disconnect
+
Returns:
+
The DisconnectPacketBuilder after setting the session expiry interval.
Sets the property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint. Will only be set if the reason code indicates another
+ server may be used (ServerMoved, UseAnotherServer).
+
+ See MQTT5 Server Reference
+
+
Parameters:
+
serverReference - Property indicating an alternate server that the client may temporarily or permanently
+ attempt to connect to instead of the configured endpoint.
+
Returns:
+
The DisconnectPacketBuilder after setting the server reference.
Returned when the server closes the connection because no packet from the client has been received in
+ 1.5 times the KeepAlive time set when the connection was established.
Returned when the remote endpoint received a packet whose size was greater than the maximum packet size limit
+ it established for itself when the connection was opened.
Returned when the remote endpoint reached a state where there were more in-progress QoS1+ publishes then the
+ limit it established for itself when the connection was opened.
Returned when the server has established another connection with the same client ID as a client's current
+ connection, causing the current client to become disconnected.
Returned when the remote endpoint receives a PublishPacket that contained a topic alias greater than the
+ maximum topic alias limit that it established for itself when the connection was opened.
Returned when the remote endpoint wishes to disconnect normally. Will not trigger the publish of a Will message if a
+ Will message was configured on the connection.
+
+ May be sent by the client or server.
Returns when the client wants to disconnect but requires that the server publish the Will message configured
+ on the connection.
+
+ May only be sent by the client.
Returned when the connection was closed but the sender does not want to specify a reason or none
+ of the other reason codes apply.
+
+ May be sent by the client or the server.
Returned when a valid packet was received by the remote endpoint, but could not be processed by the current implementation.
+
+ May be sent by the client or the server.
Returned when the remote endpoint received a packet that represented an operation that was not authorized within
+ the current connection.
+
+ May only be sent by the server.
Returned when the server closes the connection because no packet from the client has been received in
+ 1.5 times the KeepAlive time set when the connection was established.
+
+ May only be sent by the server.
Returned when the server has established another connection with the same client ID as a client's current
+ connection, causing the current client to become disconnected.
+
+ May only be sent by the server.
Returned when the remote endpoint reached a state where there were more in-progress QoS1+ publishes then the
+ limit it established for itself when the connection was opened.
+
+ May be sent by the client or the server.
Returned when the remote endpoint receives a PublishPacket that contained a topic alias greater than the
+ maximum topic alias limit that it established for itself when the connection was opened.
+
+ May be sent by the client or the server.
Returned when the remote endpoint received a packet whose size was greater than the maximum packet size limit
+ it established for itself when the connection was opened.
+
+ May be sent by the client or the server.
Returned when the remote endpoint received a packet where payload format did not match the format specified
+ by the payload format indicator.
+
+ May be sent by the client or the server.
Returned when the client sends a QoS that is greater than the maximum QOS established when the connection was
+ opened.
+
+ May only be sent by the server.
Returned by the server when it received a SubscribePacket with a subscription identifier, but the server does
+ not support subscription identifiers.
+
+ May only be sent by the server.
Returned by the server when it received a SubscribePacket with a wildcard topic filter, but the server does
+ not support wildcard topic filters.
+
+ May only be sent by the server.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns a property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Returns a change to the session expiry interval negotiated at connection time as part of the disconnect. Only
+ valid for DisconnectPackets sent from client to server. It is not valid to attempt to change session expiry
+ from zero to a non-zero value.
+
+ See MQTT5 Session Expiry Interval.
+
+
Returns:
+
A change to the session expiry interval negotiated at connection time as part of the disconnect.
Returns a property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint. Will only be set if the reason code indicates another
+ server may be used (ServerMoved, UseAnotherServer).
+
+ See MQTT5 Server Reference
+
+
Returns:
+
Property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Returned when the (QoS 1) publish was not accepted and the receiver does not want to specify a reason or none
+ of the other reason codes apply.
+
+ May be sent by the client or the server.
Returned when the packet identifier used in the associated PUBLISH was already in use.
+ This can indicate a mismatch in the session state between client and server.
+
+ May be sent by the client or the server.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public static final class PublishPacket.PublishPacketBuilder
+extends Object
+
A class to that allows for the creation of a PublishPacket. Set all of the settings you want in the
+ packet and then use the build() function to get a PublishPacket populated with the settings
+ defined in the builder.
Sets the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
Sets the property specifying the format of the payload data. The Mqtt5Client does not enforce or use this
+ value in a meaningful way.
+
+ See MQTT5 Payload Format Indicator
+
+
Parameters:
+
payloadFormat - Property specifying the format of the payload data
+
Returns:
+
The PublishPacketBuilder after setting the payload format.
Sets the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
+
+ If left null, indicates no expiration timeout.
+
+ See MQTT5 Message Expiry Interval
+
+
Parameters:
+
messageExpiryIntervalSeconds - The maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
+
Returns:
+
The PublishPacketBuilder after setting the message expiry interval.
Sets the topic alias to use when sending this publish. Will only be used if the outbound topic aliasing
+ behavior has been set to Manual.
+
+ See MQTT5 Topic Alias
+
+
Parameters:
+
topicAlias - alias value to use. Must be greater than 0 and less than 65536.
+
Returns:
+
The PublishPacketBuilder after setting the topic alias.
Sets the opaque topic string intended to assist with request/response implementations. Not internally meaningful to
+ MQTT5 or this client.
+
+ See MQTT5 Response Topic
+
+
Parameters:
+
responseTopic - Topic string intended to assist with request/response implementations
+
Returns:
+
The PublishPacketBuilder after setting the response topic.
Sets the opaque binary data used to correlate between publish messages, as a potential method for request-response
+ implementation. Not internally meaningful to MQTT5.
+
+ See MQTT5 Correlation Data
+
+
Parameters:
+
correlationData - Opaque binary data used to correlate between publish messages
+
Returns:
+
The PublishPacketBuilder after setting the correlation data.
Sent publishes - Returns the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
Sent publishes - Returns the MQTT quality of service level this message should be delivered with.
+
+ Received publishes - Returns the MQTT quality of service level this message was delivered at.
+
+ See MQTT5 QoS
+
+
Returns:
+
The MQTT quality of service associated with this PUBLISH packet.
Returns true if this is a retained message, false otherwise.
+
+ Always set on received publishes; on sent publishes, null implies false.
+
+ See MQTT5 Retain
+
+
Returns:
+
True if this is a retained message, false otherwise.
Sent publishes - Returns the topic this message should be published to.
+
+ Received publishes - Returns the topic this message was published to.
+
+ See MQTT5 Topic Name
Returns the property specifying the format of the payload data. The Mqtt5Client does not enforce or use this
+ value in a meaningful way.
+
+ See MQTT5 Payload Format Indicator
+
+
Returns:
+
Property specifying the format of the payload data.
Sent publishes - Returns the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
+
+ Received publishes - Returns the remaining amount of time (from the server's perspective) before the message would
+ have been deleted relative to the subscribing client.
+
+ If left null, indicates no expiration timeout.
+
+ See MQTT5 Message Expiry Interval
+
+
Returns:
+
The message expiry interval associated with this PublishPacket.
Sent publishes - topic alias to use, if possible, when encoding this packet. Only used if the
+ client's outbound topic aliasing mode is set to Manual.
+
+ Received publishes - topic alias used by the server when transmitting the publish to the client.
+
+ See MQTT5 Topic Alias
+
+
Returns:
+
The topic alias associated with this PublishPacket.
Returns a opaque topic string intended to assist with request/response implementations. Not internally meaningful to
+ MQTT5 or this client.
+
+ See MQTT5 Response Topic
+
+
Returns:
+
Opaque topic string intended to assist with request/response implementations.
+
+
+
+
+
+
+
getCorrelationData
+
+
publicbyte[]getCorrelationData()
+
Returns a opaque binary data used to correlate between publish messages, as a potential method for request-response
+ implementation. Not internally meaningful to MQTT5.
+
+ See MQTT5 Correlation Data
+
+
Returns:
+
Opaque binary data used to correlate between publish messages.
Sent publishes - Ignored
+
+ Received publishes - Returns the subscription identifiers of all the subscriptions this message matched.
+
+ See MQTT5 Subscription Identifier
+
+
Returns:
+
the subscription identifiers of all the subscriptions this message matched.
Reason code inside SubAckPacket payloads.
+ Enum values match MQTT spec encoding values.
+
+ This will only be sent by the server and not the client.
+
+ Enum values match MQTT5 spec encoding values.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns a list of reason codes indicating the result of each individual subscription entry in the
+ associated SubscribePacket.
+
+ See MQTT5 Suback Payload
+
+
Returns:
+
list of reason codes indicating the result of each individual subscription entry in the
+ associated SubscribePacket.
Configures how retained messages should be handled when subscribing with a subscription that matches topics with
+ associated retained messages.
+
+ Enum values match MQTT5 spec encoding values.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
public static final class SubscribePacket.SubscribePacketBuilder
+extends Object
+
A class to that allows for the creation of a SubscribePacket. Set all of the settings you want in the
+ packet and then use the build() function to get a SubscribePacket populated with the settings
+ defined in the builder.
Sets the positive long to associate with all topic filters in this request. Publish packets that match
+ a subscription in this request should include this identifier in the resulting message.
+
+ See MQTT5 Subscription Identifier
+
+
Parameters:
+
subscriptionIdentifier - A positive long to associate with all topic filters in this request.
+
Returns:
+
The SubscribePacketBuilder after setting the subscription identifier.
Returns whether the server should not send publishes to a client when that client was the one who sent the publish. If
+ null, this is assumed to be false.
+
+ See MQTT5 Subscription Options
+
+
Returns:
+
Whether the server will not send publishes to a client when that client was the one who sent the publish
Returns whether messages sent due to this subscription keep the retain flag preserved on the message. If null,
+ this is assumed to be false.
+
+ See MQTT5 Subscription Options
+
+
Returns:
+
Whether messages sent due to this subscription keep the retain flag preserved on the message
Returns whether retained messages on matching topics be sent in reaction to this subscription. If null,
+ this is assumed to be RetainHandlingType.SendOnSubscribe.
+
+ See MQTT5 Subscription Options
+
+
Returns:
+
Whether retained messages on matching topics be sent in reaction to this subscription
Returns the positive long to associate with all subscriptions in this request. Publish packets that match
+ a subscription in this request should include this identifier in the resulting message.
+
+ See MQTT5 Subscription Identifier
+
+
Returns:
+
A positive long to associate with all subscriptions in this request.
Reason codes inside UnsubAckPacket payloads that specify the results for each topic filter in the associated
+ UnsubscribePacket.
+
+ Enum values match MQTT5 spec encoding values.
Returned when the unsubscribe of the topic filter was not accepted and the server does not want to specify a
+ reason or none of the other reason codes apply.
Returned when the unsubscribe of the topic filter was not accepted and the server does not want to specify a
+ reason or none of the other reason codes apply.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns a list of reason codes indicating the result of unsubscribing from each individual topic filter entry in the
+ associated UNSUBSCRIBE packet.
+
+ See MQTT5 Unsuback Payload
+
+
Returns:
+
A list of reason codes indicating the result of unsubscribing from each individual topic filter entry in the
+ associated UNSUBSCRIBE packet.
public static final class UnsubscribePacket.UnsubscribePacketBuilder
+extends Object
+
A class to that allows for the creation of a UnsubscribePacket. Set all of the settings you want in the
+ packet and then use the build() function to get a UnsubscribePacket populated with the settings
+ defined in the builder.
Sets the maximum time interval, in seconds, that is permitted to elapse between the point at which the client
+ finishes transmitting one MQTT packet and the point it starts sending the next.
Sets whether requests that the server send additional diagnostic information (via response string or
+ user properties) in DisconnectPacket or ConnAckPacket from the server.
Sets the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Sets the time interval, in seconds, that the server should wait (for a session reconnection) before sending the
+ will message associated with the connection's session.
Sets the property indicating an alternate server that the client may temporarily or permanently attempt
+ to connect to instead of the configured endpoint.
Notifies the Mqtt5Client that you want it to end connectivity to the configured endpoint, disconnecting any
+ existing connection and halting any reconnect attempts.
Sets the maximum amount of time allowed to elapse for message delivery before the server
+ should instead delete the message (relative to a recipient).
Returns the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Sets the definition of a message to be published when the connection's session is destroyed by the server or when
+ the will delay interval has elapsed, whichever comes first.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
If NONE. No request payload checksum will be added and calculated.
+
+ If HEADER, the checksum will be calculated by client and related header added
+ to the request sent.
+
+ If TRAILER, the payload will be aws_chunked encoded, The checksum will be
+ calculated while reading the
+ payload by client. Related header will be added to the trailer part of the
+ encoded payload. Note the payload of
+ the original request cannot be aws-chunked encoded already. Otherwise, error
+ will be raised.
+
+
Parameters:
+
location - The location of client added request payload checksum header.
The checksum algorithm used to calculate the checksum of payload uploaded.
+ Must be set if location is not AWS_SCL_NONE. Must be AWS_SCA_NONE if location
+ is AWS_SCL_NONE.
+
+
Parameters:
+
algorithm - The checksum algorithm used to calculate the checksum of
+ payload uploaded.
Enable checksum mode header will be attached to get requests, this will tell
+ s3 to send back checksums headers if they exist.
+
+ For object that has checksum, the checksum of whole object will be calculated
+ and validated. The result will finish with a did validate field.
+
+ For object has checksum for parts, if ALL the parts have been validated, the
+ result will finish with a did validate field. If any part failed the
+ validation, AWS_ERROR_S3_RESPONSE_CHECKSUM_MISMATCH will be raised.
+
+
Parameters:
+
validateChecksum - Validate the checksum of response if server provides.
Ignored when validate_response_checksum is not set.
+ If not set all the algorithms will be selected as default behavior.
+
+ The list of algorithms for user to pick up when validate the checksum. Client
+ will pick up the algorithm from the list with the priority based on
+ performance, and the algorithm sent by server. The priority based on
+ performance is [CRC32C, CRC32, SHA1, SHA256].
+
+ If the response checksum was validated by client, the result will indicate
+ which algorithm was picked.
+
+
Parameters:
+
validateChecksumAlgorithmList - The list of algorithm picked to validate
+ checksum from response.
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.
To enable S3 Express support for client
+ The typical usage for a S3 Express request is to set this to true and let the request to be signed with
+ AwsSigningConfig.AwsSigningAlgorithm.SIGV4_S3EXPRESS, either from the client level signingConfig or override from request.
Please use withSigningConfig(AwsSigningConfig) instead.
+ The credentials provider will be used to create the signing Config when the client was created.
+ Client will use `AwsSigningConfig.getDefaultS3SigningConfig(region, credentialsProvider);` to create the signing config.
+
+
+
Parameters:
+
credentialsProvider - provide credentials for signing.
The configuration related to signing used by S3 client.
+ `AwsSigningConfig.getDefaultS3SigningConfig(region, credentialsProvider);` can be used as helper to create the default configuration to be used for S3.
+ In case of public object, or the http message already has a presigned URL, signing can be skipped.
+
+ If not set, a default config will be used with anonymous credentials and skip signing the request.
+ If set:
+ - Credentials provider is required. Other configs are all optional, and will be default to what
+ needs to sign the request for S3, only overrides when Non-zero/Not-empty is set.
+ - S3 Client will derive the right config for signing process based on this.
+
+ Notes:
+ - For SIGV4_S3EXPRESS, S3 client will use the credentials in the config to derive the S3 Express
+ credentials that are used in the signing process.
+ - Client may make modifications to signing config before passing it on to signer.
+
+
Parameters:
+
signingConfig - configuration related to signing via an AWS signing process.
Set whether backpressure is enabled (false by default), to prevent response data downloading faster than you can handle it.
+
+ If false, no backpressure is applied and data will download as fast as possible.
+
+ If true, each S3MetaRequest has a flow-control window that shrinks as
+ response body data is downloaded (headers do not affect the window).
+ withInitialReadWindowSize(long) determines the starting size of each S3MetaRequest's window, in bytes.
+ Data stops downloading data whenever the window reaches zero.
+ Increment the window to keep data flowing by calling S3MetaRequest.incrementReadWindow(long),
+ or by returning a size from S3MetaRequestResponseHandler.onResponseBody(java.nio.ByteBuffer, long, long).
+ Maintain a larger window to keep up a high download throughput,
+ parts cannot download in parallel unless the window is large enough to hold multiple parts.
+ Maintain a smaller window to limit the amount of data buffered in memory.
+
+ WARNING: This feature is experimental.
+ Currently, backpressure is only applied to GetObject requests which are split into multiple parts,
+ and you may still receive some data after the window reaches zero.
+
+
Parameters:
+
enable - whether to enable or disable backpressure
Options for detecting bad HTTP connections.
+ If the transfer throughput falls below the specified thresholds
+ for long enough, the operation is retried on a new connection.
+ If left unset, default values are used.
To enable S3 Express support for client
+ The typical usage for a S3 Express request is to set this to true and let the request to be signed with
+ AwsSigningConfig.AwsSigningAlgorithm.SIGV4_S3EXPRESS, either from the client level signingConfig or override from request.
+
+
Parameters:
+
enableS3Express - To enable S3 Express support for client
The amount of memory the CRT client is allowed to use.
+ The client makes a best-effort attempt at memory limiting but might exceed this limit in some cases.
+ If not provided, the client calculates this optimally from other settings, such as targetThroughput.
+ On a 64-bit system, the default is between 2Gib-8Gib.
+ It must be at least 1GiB and will be capped to SIZE_MAX of the system.
+
+
Parameters:
+
memoryLimitBytes - Memory limit in bytes.
+
Returns:
+
this
+
+
+
+
+
+
+
getMemoryLimitInBytes
+
+
publiclonggetMemoryLimitInBytes()
+
Retrieves the memory limit set for the CRT client in bytes.
+ If not set, this will return 0.
A handler to create a S3ExpressCredentialsProvider for the client to use.
+
+ Warning:
+ You cannot use the client while creating the provider
+ (You can use the client for fetching credentials)
+
+
Parameters:
+
client - The S3Client creates and owns the provider.
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.
Pauses meta request and returns a token that can be used to resume a meta request.
+ For PutObject resume, input stream should always start at the beginning,
+ already uploaded parts will be skipped, but checksums on those will be verified if request specified checksum algo.
+
+
Returns:
+
token to resume request. might be null if request has not started executing yet
+
+
+
+
+
+
+
incrementReadWindow
+
+
publicvoidincrementReadWindow(long bytes)
+
Increment the flow-control window, so that response data continues downloading.
+
+ If the client was created with S3ClientOptions.withReadBackpressureEnabled(boolean) set true,
+ each S3MetaRequest has a flow-control window that shrinks as response
+ body data is downloaded (headers do not affect the size of the window).
+ S3ClientOptions.withInitialReadWindowSize(long) sets the starting size for each S3MetaRequest's window.
+ Whenever the window reaches zero, data stops downloading.
+ Increment the window to keep data flowing.
+ Maintain a larger window to keep up a high download throughput,
+ parts cannot download in parallel unless the window is large enough to hold multiple parts.
+ Maintain a smaller window to limit the amount of data buffered in memory.
+
+ If backpressure is disabled this call has no effect, data is downloaded as fast as possible.
+
+ WARNING: This feature is experimental.
+ Currently, backpressure is only applied to GetObject requests which are split into multiple parts,
+ and you may still receive some data after the window reaches zero.
A Meta Request represents a group of generated requests that are being done on behalf of the
+ original request. For example, one large GetObject request can be transformed into a series
+ of ranged GetObject requests that are executed in parallel to improve throughput.
+
+ The MetaRequestType is a hint of transformation to be applied.
The CopyObject meta request performs a multi-part copy using multiple S3 UploadPartCopy requests
+ in parallel, or bypasses a CopyObject request to S3 if the object size is not large enough for
+ a multipart upload.
The CopyObject meta request performs a multi-part copy using multiple S3 UploadPartCopy requests
+ in parallel, or bypasses a CopyObject request to S3 if the object size is not large enough for
+ a multipart upload.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+
Parameters:
+
name - the name of the enum constant to be returned.
The S3 operation name (eg: "CreateBucket"),
+ this MUST be set for S3MetaRequestOptions.MetaRequestType.DEFAULT,
+ it is ignored for other meta request types since the operation is implicit.
The S3 operation name (eg: "CreateBucket"),
+ this MUST be set for S3MetaRequestOptions.MetaRequestType.DEFAULT,
+ it is ignored for other meta request types since the operation is implicit.
+
+ See
+ S3 API documentation for the canonical list of names.
+
+ This name is used to fill out details in metrics and error reports.
+ It also drives some operation-specific behavior.
+ If you pass the wrong name, you risk getting the wrong behavior.
+
+ For example, every operation except "GetObject" has its response checked
+ for error, even if the HTTP status-code was 200 OK
+ (see knowledge center).
+ If you used the DEFAULT type to do
+ GetObject,
+ but mis-named it "Download", and the object looked like XML with an error code,
+ then the meta-request would fail. You risk logging the full response body,
+ and leaking sensitive data.
Please use withChecksumConfig(ChecksumConfig) instead.
+ Specify the checksum algorithm to use use for put requests, if unset defaults to NONE and no checksum will be calculated.
+ The location of the checksum will be default to trailer.
+
+
+
Parameters:
+
checksumAlgorithm - the checksum algorithm to use use for put requests
Please use withChecksumConfig(ChecksumConfig) instead.
+ validateChecksum defaults to false, if set to true, it will cause the client to compare a streamed
+ calculation of the objects checksum to a remotely stored checksum assigned to the object if one exists.
+ The checksumValidated field passed in parameter of the finished callback will inform
+ the user if validation ocurred. A mismatch will result in a AWS_ERROR_S3_RESPONSE_CHECKSUM_MISMATCH error
+
+
+
Parameters:
+
validateChecksum - Validate the checksum of response if server provides.
+
Returns:
+
this
+
+
+
+
+
+
+
getValidateChecksum
+
+
publicbooleangetValidateChecksum()
+
Deprecated.
+
+
Returns:
+
Validate the checksum of response if server provides.
Set the initial HTTP request.
+
+ Note: When uploading a file, you can get better performance by setting
+ withRequestFilePath(java.nio.file.Path) instead of setting a body stream on the HttpRequest.
+ (If both are set, the file path is used and body stream is ignored)
Please use withSigningConfig(AwsSigningConfig) instead.
+ The credentials provider will be used to create the signing Config to override the client level config.
+ The client config will be used.
+
+
+
Parameters:
+
credentialsProvider - provide credentials for signing.
The configuration related to signing used by S3 client. It will override the client level configuration if provided.
+ `AwsSigningConfig.getDefaultS3SigningConfig(region, credentialsProvider);` can be used as helper to create the default configuration to be used for S3.
+
+ If not set, the client configuration will be used.
+ If set:
+ - All fields are optional. The credentials will be resolve from client if not set.
+ - S3 Client will derive the right config for signing process based on this.
+
+ Notes:
+ - For SIGV4_S3EXPRESS, S3 client will use the credentials in the config to derive the S3Express
+ credentials that are used in the signing process.
+ - Client may make modifications to signing config before passing it on to signer.
+
+
Parameters:
+
signingConfig - configuration related to signing via an AWS signing process.
Sets whether to delete the response file on failure when downloading an
+ object from S3.
+ This option is only applicable when a response file path is set.
+
+
Parameters:
+
responseFileDeleteOnFailure - True to delete the response file on
+ failure,
+ False to leave it as-is.
Invoked to provide response headers received during the execution of the meta request.
+ Note: the statusCode in this callback is not the final statusCode. It is possible that the statusCode in `onResponseHeaders`
+ is 200, and then the request fail leading to a different statusCode in the final `onFinished` callback.
+
+
Parameters:
+
statusCode - statusCode of the HTTP response
+
headers - the headers received
+
+
+
+
+
+
+
onResponseBody
+
+
defaultintonResponseBody(ByteBuffer bodyBytesIn,
+ long objectRangeStart,
+ long objectRangeEnd)
+
Invoked to provide the response body as it is received.
+
+ Note that if the client was created with S3ClientOptions.withReadBackpressureEnabled(boolean) set true,
+ you must maintain the flow-control window.
+ The flow-control window shrinks as you receive body data via this callback.
+ Whenever the flow-control window reaches zero, data will stop downloading.
+ To keep data flowing, you must increment the window by returning a number
+ from this method, or by calling S3MetaRequest.incrementReadWindow(long).
+
+ If backpressure is disabled, you do not need to maintain the flow-control window,
+ data will arrive as fast as possible.
+
+
Parameters:
+
bodyBytesIn - The body data for this chunk of the object
+
objectRangeStart - The byte index of the object that this refers to. For example, for an HTTP message that
+ has a range header, the first chunk received will have a range_start that matches the range header's range-start
+
objectRangeEnd - corresponds to the past-of-end chunk offset, i.e. objectRangeStart + the chunk length
+
Returns:
+
The number of bytes to increment the flow-control window by
+ (calling S3MetaRequest.incrementReadWindow(long) has the same effect).
+ This value is ignored if backpressure is disabled.
Invoked to report progress of the meta request execution.
+ The meaning of "progress" depends on the S3MetaRequestOptions.MetaRequestType.
+ For PUT_OBJECT, it refers to bytes uploaded.
+ For COPY_OBJECT, it refers to bytes copied.
+ For GET_OBJECT, it refers to bytes downloaded.
+ For anything else, it refers to response body bytes received.
+
+
Parameters:
+
progress - information about the progress of the meta request execution
To enable S3 Express support for client
+ The typical usage for a S3 Express request is to set this to true and let the request to be signed with
+ AwsSigningConfig.AwsSigningAlgorithm.SIGV4_S3EXPRESS, either from the client level signingConfig or override from request.
The S3 operation name (eg: "CreateBucket"),
+ this MUST be set for S3MetaRequestOptions.MetaRequestType.DEFAULT,
+ it is ignored for other meta request types since the operation is implicit.
Returns a new String composed of copies of the CharSequence elements joined together with a copy of the specified delimiter.
+ Like `Strings.join()` but works on Android before API 26.
+
+
Parameters:
+
delimiter - a sequence of characters that is used to separate each of the elements in the resulting String
+
elements - an Iterable that will have its elements joined together
+
Returns:
+
a new String that is composed from the elements argument
+
+
+
+
+
+
+
base64Encode
+
+
public staticbyte[]base64Encode(byte[] data)
+
Encode a byte array into a Base64 byte array.
+
+
Parameters:
+
data - The byte array to encode
+
Returns:
+
The byte array encoded as Byte64
+
+
+
+
+
+
+
base64Decode
+
+
public staticbyte[]base64Decode(byte[] data)
+
Decode a Base64 byte array into a non-Base64 byte array.