@NotThreadSafe public class EntityAsyncContentProducer extends Object implements HttpAsyncContentProducer
HttpAsyncContentProducer
that relies on
inefficient and potentially blocking I/O operation redirection through
Channels.newChannel(java.io.InputStream)
.Constructor and Description |
---|
EntityAsyncContentProducer(HttpEntity entity) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
boolean |
isRepeatable()
Determines whether or not this producer is capable of producing
its content more than once.
|
void |
produceContent(ContentEncoder encoder,
IOControl ioctrl)
Invoked to write out a chunk of content to the
ContentEncoder . |
public EntityAsyncContentProducer(HttpEntity entity)
public void produceContent(ContentEncoder encoder, IOControl ioctrl) throws IOException
HttpAsyncContentProducer
ContentEncoder
.
The IOControl
interface can be used to suspend output events
if the entity is temporarily unable to produce more content.
When all content is finished, the producer MUST call
ContentEncoder.complete()
. Failure to do so may cause the entity
to be incorrectly delimited.
produceContent
in interface HttpAsyncContentProducer
encoder
- content encoder.ioctrl
- I/O control of the underlying connection.IOException
public boolean isRepeatable()
HttpAsyncContentProducer
isRepeatable
in interface HttpAsyncContentProducer
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.