Class HttpStreamBase

java.lang.Object
software.amazon.awssdk.crt.CrtResource
software.amazon.awssdk.crt.http.HttpStreamBase
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
Http2Stream, HttpStream

public class HttpStreamBase extends CrtResource
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.
  • Method Details

    • incrementWindow

      public void incrementWindow(int windowSize)
      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.
      See Also:
    • activate

      public void activate()
      Activates the client stream.
    • getResponseStatusCode

      public int getResponseStatusCode()
      Retrieves the Http Response Status Code
      Returns:
      The Http Response Status Code