Package org.eclipse.jetty.client.util
Class AsyncRequestContent
java.lang.Object
org.eclipse.jetty.client.util.AsyncRequestContent
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Request.Content
,Request.Content.Subscription
- Direct Known Subclasses:
OutputStreamRequestContent
public class AsyncRequestContent
extends Object
implements Request.Content, Request.Content.Subscription, Closeable
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request.Content
Request.Content.Consumer, Request.Content.Subscription
-
Constructor Summary
ConstructorDescriptionAsyncRequestContent
(String contentType, ByteBuffer... buffers) AsyncRequestContent
(ByteBuffer... buffers) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
demand()
Demands more content, which eventually results inRequest.Content.Consumer.onContent(ByteBuffer, boolean, Callback)
to be invoked.void
Fails this request content, possibly failing and discarding accumulated content that was not demanded.void
flush()
long
boolean
isClosed()
boolean
offer
(ByteBuffer buffer) boolean
offer
(ByteBuffer buffer, Callback callback) subscribe
(Request.Content.Consumer consumer, boolean emitInitialContent) Initializes this content producer with the content consumer, and with the indication of whether initial content, if present, must be emitted upon the initial demand of content (to support delaying the send of the request content in case ofExpect: 100-Continue
whenemitInitialContent
isfalse
).toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.client.api.Request.Content
isReproducible
-
Constructor Details
-
AsyncRequestContent
-
AsyncRequestContent
-
-
Method Details
-
getContentType
- Specified by:
getContentType
in interfaceRequest.Content
- Returns:
- the content type string such as "application/octet-stream" or "application/json;charset=UTF8", or null if no content type must be set
-
getLength
public long getLength()- Specified by:
getLength
in interfaceRequest.Content
- Returns:
- the content length, if known, or -1 if the content length is unknown
-
subscribe
public Request.Content.Subscription subscribe(Request.Content.Consumer consumer, boolean emitInitialContent) Description copied from interface:Request.Content
Initializes this content producer with the content consumer, and with the indication of whether initial content, if present, must be emitted upon the initial demand of content (to support delaying the send of the request content in case of
Expect: 100-Continue
whenemitInitialContent
isfalse
).- Specified by:
subscribe
in interfaceRequest.Content
- Parameters:
consumer
- the content consumer to invoke when there is demand for contentemitInitialContent
- whether to emit initial content, if present- Returns:
- the Subscription that links this producer to the consumer
-
demand
public void demand()Description copied from interface:Request.Content.Subscription
Demands more content, which eventually results in
Request.Content.Consumer.onContent(ByteBuffer, boolean, Callback)
to be invoked.- Specified by:
demand
in interfaceRequest.Content.Subscription
-
fail
Description copied from interface:Request.Content
Fails this request content, possibly failing and discarding accumulated content that was not demanded.
The failure may be notified to the consumer at a later time, when the consumer demands for content.
Typical failure: the request being aborted by user code, or idle timeouts.
- Specified by:
fail
in interfaceRequest.Content
- Specified by:
fail
in interfaceRequest.Content.Subscription
- Parameters:
failure
- the reason of the failure
-
offer
-
offer
-
flush
- Throws:
IOException
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
isClosed
public boolean isClosed() -
toString
-