Class FileAsyncRequestBody
java.lang.Object
software.amazon.awssdk.core.internal.async.FileAsyncRequestBody
- All Implemented Interfaces:
org.reactivestreams.Publisher<ByteBuffer>
,AsyncRequestBody
,SdkPublisher<ByteBuffer>
Implementation of
AsyncRequestBody
that reads data from a file.- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface software.amazon.awssdk.core.async.AsyncRequestBody
AsyncRequestBody.BodyType
-
Method Summary
Modifier and TypeMethodDescriptionbody()
Each AsyncRequestBody should return a well-formed name that can be used to identify the implementation.static FileAsyncRequestBody.Builder
builder()
int
long
long
path()
long
position()
split
(AsyncRequestBodySplitConfiguration splitConfiguration) Converts thisAsyncRequestBody
to a publisher ofAsyncRequestBody
s, each of which publishes a specific portion of the original data, based on the providedAsyncRequestBodySplitConfiguration
.void
subscribe
(org.reactivestreams.Subscriber<? super ByteBuffer> s) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface software.amazon.awssdk.core.async.AsyncRequestBody
split
Methods inherited from interface software.amazon.awssdk.core.async.SdkPublisher
addTrailingData, buffer, doAfterOnCancel, doAfterOnComplete, doAfterOnError, filter, filter, flatMapIterable, limit, map, subscribe
-
Method Details
-
split
Description copied from interface:AsyncRequestBody
Converts thisAsyncRequestBody
to a publisher ofAsyncRequestBody
s, each of which publishes a specific portion of the original data, based on the providedAsyncRequestBodySplitConfiguration
. The default chunk size is 2MB and the default buffer size is 8MB.By default, if content length of this
AsyncRequestBody
is present, each dividedAsyncRequestBody
is delivered to the subscriber right after it's initialized. On the other hand, if content length is null, it is sent after the entire content for that chunk is buffered. In this case, the configuredmaxMemoryUsageInBytes
must be larger than or equal tochunkSizeInBytes
. Note that this behavior may be different if a specific implementation of this interface overrides this method.- Specified by:
split
in interfaceAsyncRequestBody
- See Also:
-
path
-
fileLength
public long fileLength() -
chunkSizeInBytes
public int chunkSizeInBytes() -
position
public long position() -
numBytesToRead
public long numBytesToRead() -
contentLength
- Specified by:
contentLength
in interfaceAsyncRequestBody
- Returns:
- The content length of the data being produced.
-
contentType
- Specified by:
contentType
in interfaceAsyncRequestBody
- Returns:
- The content type of the data being produced.
-
subscribe
- Specified by:
subscribe
in interfaceorg.reactivestreams.Publisher<ByteBuffer>
-
body
Description copied from interface:AsyncRequestBody
Each AsyncRequestBody should return a well-formed name that can be used to identify the implementation. The body name should only include alphanumeric characters.- Specified by:
body
in interfaceAsyncRequestBody
- Returns:
- String containing the identifying name of this AsyncRequestBody implementation.
-
builder
- Returns:
- Builder instance to construct a
FileAsyncRequestBody
.
-