Class ByteBuffersAsyncRequestBody
java.lang.Object
software.amazon.awssdk.core.internal.async.ByteBuffersAsyncRequestBody
- All Implemented Interfaces:
AutoCloseable,org.reactivestreams.Publisher<ByteBuffer>,AsyncRequestBody,SdkPublisher<ByteBuffer>,SdkAutoCloseable
@SdkInternalApi
public final class ByteBuffersAsyncRequestBody
extends Object
implements AsyncRequestBody, SdkAutoCloseable
An implementation of
AsyncRequestBody for providing data from the supplied ByteBuffer array. This is created
using static methods on AsyncRequestBody
Subscription Behavior:
- Each subscriber receives a read-only view of the buffered data
- Subscribers receive data independently based on their own demand signaling
- If the body is closed, new subscribers will receive an error immediately
Resource Management:
The body should be closed when no longer needed to free buffered data and notify active subscribers. Closing the body will:- Clear all buffered data
- Send error notifications to all active subscribers
- Prevent new subscriptions
- See Also:
-
Nested Class Summary
Nested 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.voidclose()static ByteBuffersAsyncRequestBodyfrom(byte[] bytes) static ByteBuffersAsyncRequestBodystatic ByteBuffersAsyncRequestBodyof(Long length, ByteBuffer... buffers) static ByteBuffersAsyncRequestBodyof(String mimetype, Long length, ByteBuffer... buffers) static ByteBuffersAsyncRequestBodyof(String mimetype, ByteBuffer... buffers) static ByteBuffersAsyncRequestBodyof(ByteBuffer... buffers) static ByteBuffersAsyncRequestBodyof(List<ByteBuffer> buffers) static ByteBuffersAsyncRequestBodyof(List<ByteBuffer> buffers, long length) voidsubscribe(org.reactivestreams.Subscriber<? super ByteBuffer> subscriber) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.awssdk.core.async.AsyncRequestBody
split, split, splitCloseable, splitCloseableMethods inherited from interface software.amazon.awssdk.core.async.SdkPublisher
addTrailingData, buffer, doAfterOnCancel, doAfterOnComplete, doAfterOnError, filter, filter, flatMapIterable, limit, map, subscribe
-
Method Details
-
contentLength
- Specified by:
contentLengthin interfaceAsyncRequestBody- Returns:
- The content length of the data being produced.
-
contentType
- Specified by:
contentTypein interfaceAsyncRequestBody- Returns:
- The content type of the data being produced.
-
subscribe
- Specified by:
subscribein interfaceorg.reactivestreams.Publisher<ByteBuffer>
-
body
Description copied from interface:AsyncRequestBodyEach 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:
bodyin interfaceAsyncRequestBody- Returns:
- String containing the identifying name of this AsyncRequestBody implementation.
-
of
-
of
-
of
-
of
-
of
-
of
-
from
-
from
-
close
public void close()Description copied from interface:SdkAutoCloseable- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSdkAutoCloseable
-
bufferedData
-