Returns the amount of time (in milliseconds) to allow the client to complete the execution of
an API call. This timeout covers the entire client execution except for marshalling. This
includes request handler execution, all HTTP request including retries, unmarshalling, etc.
This feature requires buffering the entire response (for non-streaming APIs) into memory to
enforce a hard timeout when reading the response. For APIs that return large responses this
could be expensive.
The client execution timeout feature doesn't have strict guarantees on how quickly a request
is aborted when the timeout is breached. The typical case aborts the request within a few
milliseconds but there may occasionally be requests that don't get aborted until several
seconds after the timer has been breached. Because of this the client execution timeout
feature should not be used when absolute precision is needed.
This may be used together with
AmazonWebServiceRequest#setSdkRequestTimeout(int) to
enforce both a timeout on each individual HTTP request (i.e. each retry) and the total time
spent on all requests across retries (i.e. the 'client execution' time). A non-positive value
disables this feature.
Note: This feature is not compatible with Java 1.6.