org.apache.http.nio.entity
Class EntityAsyncContentProducer
java.lang.Object
org.apache.http.nio.entity.EntityAsyncContentProducer
- All Implemented Interfaces:
- Closeable, HttpAsyncContentProducer
@NotThreadSafe
public class EntityAsyncContentProducer
- extends Object
- implements HttpAsyncContentProducer
Basic implementation of HttpAsyncContentProducer
that relies on
inefficient and potentially blocking I/O operation redirection through
Channels.newChannel(java.io.InputStream)
.
- Since:
- 4.2
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EntityAsyncContentProducer
public EntityAsyncContentProducer(HttpEntity entity)
produceContent
public void produceContent(ContentEncoder encoder,
IOControl ioctrl)
throws IOException
- Description copied from interface:
HttpAsyncContentProducer
- Invoked to write out a chunk of content to the
ContentEncoder
.
The IOControl
interface can be used to suspend output event
notifications 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.
Please note that the ContentEncoder
object is not thread-safe and
should only be used within the context of this method call.
The IOControl
object can be shared and used on other thread
to resume output event notifications when more content is made available.
- Specified by:
produceContent
in interface HttpAsyncContentProducer
- Parameters:
encoder
- content encoder.ioctrl
- I/O control of the underlying connection.
- Throws:
IOException
isRepeatable
public boolean isRepeatable()
- Description copied from interface:
HttpAsyncContentProducer
- Determines whether or not this producer is capable of producing
its content more than once. Repeatable content producers are expected
to be able to recreate their content even after having been closed.
- Specified by:
isRepeatable
in interface HttpAsyncContentProducer
close
public void close()
throws IOException
- Specified by:
close
in interface Closeable
- Throws:
IOException
Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.