Package software.amazon.awssdk.crt.http
Class Http2StreamManager
java.lang.Object
software.amazon.awssdk.crt.CrtResource
software.amazon.awssdk.crt.http.Http2StreamManager
- All Implemented Interfaces:
AutoCloseable
Manages a Pool of HTTP/2 Streams. Creates and manages HTTP/2 connections
under the hood.
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.awssdk.crt.CrtResource
CrtResource.ResourceInstance -
Method Summary
Modifier and TypeMethodDescriptionacquireStream(Http2Request request, HttpStreamBaseResponseHandler streamHandler) Request a Http2Stream from StreamManager.acquireStream(Http2Request request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) Request a Http2Stream from StreamManager.acquireStream(HttpRequestBase request, HttpStreamBaseResponseHandler streamHandler) acquireStream(HttpRequestBase request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) acquireStream(HttpRequest request, HttpStreamBaseResponseHandler streamHandler) acquireStream(HttpRequest request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) static Http2StreamManagercreate(Http2StreamManagerOptions options) Factory function for Http2StreamManager instancesintMethods inherited from class software.amazon.awssdk.crt.CrtResource
addRef, addRef, addReferenceTo, close, close, collectNativeResource, collectNativeResources, decRef, decRef, decRef, getNativeHandle, getResourceLogDescription, isNull, logNativeResources, logNativeResources, removeReferenceTo, setDescription, waitForNoResources
-
Method Details
-
create
Factory function for Http2StreamManager instances- Parameters:
options- configuration options- Returns:
- a new instance of an Http2StreamManager
-
acquireStream
public CompletableFuture<Http2Stream> acquireStream(Http2Request request, HttpStreamBaseResponseHandler streamHandler) Request a Http2Stream from StreamManager.- Parameters:
request- The Request to make to the Server.streamHandler- The Stream Handler to be called from the Native EventLoop- Returns:
- A future for a Http2Stream that will be completed when the stream is acquired.
-
acquireStream
public CompletableFuture<Http2Stream> acquireStream(Http2Request request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) Request a Http2Stream from StreamManager.- Parameters:
request- The Request to make to the Server.streamHandler- The Stream Handler to be called from the Native EventLoopuseManualDataWrites- Whentrue, request body data is provided viaHttpStreamBase.writeData(byte[], boolean, software.amazon.awssdk.crt.http.HttpStreamBase.HttpStreamWriteDataCompletionCallback)instead of from the request'sHttpRequestBodyStream. SeeHttp2ClientConnection.makeRequest(HttpRequestBase, HttpStreamBaseResponseHandler, boolean)for caveats on combining a body stream with manual writes.- Returns:
- A future for a Http2Stream that will be completed when the stream is acquired.
-
acquireStream
public CompletableFuture<Http2Stream> acquireStream(HttpRequest request, HttpStreamBaseResponseHandler streamHandler) -
acquireStream
public CompletableFuture<Http2Stream> acquireStream(HttpRequest request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) -
acquireStream
public CompletableFuture<Http2Stream> acquireStream(HttpRequestBase request, HttpStreamBaseResponseHandler streamHandler) -
acquireStream
public CompletableFuture<Http2Stream> acquireStream(HttpRequestBase request, HttpStreamBaseResponseHandler streamHandler, boolean useManualDataWrites) -
getMaxConnections
public int getMaxConnections()- Returns:
- maximum number of connections this connection manager will pool
-
getManagerMetrics
- Returns:
- concurrency metrics for the current manager
-
getShutdownCompleteFuture
-