Class BasicAsyncRequestProducer

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BasicAsyncRequestProducer​(org.apache.http.HttpHost target, org.apache.http.HttpEntityEnclosingRequest request, HttpAsyncContentProducer producer)
      Creates a producer that can be used to transmit the given request message.
        BasicAsyncRequestProducer​(org.apache.http.HttpHost target, org.apache.http.HttpRequest request)
      Creates a producer that can be used to transmit the given request message.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      void failed​(java.lang.Exception ex)
      Invoked to signal that the response processing terminated abnormally.
      org.apache.http.HttpRequest generateRequest()
      Invoked to generate a HTTP request message head.
      org.apache.http.HttpHost getTarget()
      Invoked to obtain the request target host.
      boolean isRepeatable()
      Determines whether or not this producer is capable of producing HTTP request messages more than once.
      void produceContent​(ContentEncoder encoder, IOControl ioctrl)
      Invoked to write out a chunk of content to the ContentEncoder.
      void requestCompleted​(org.apache.http.protocol.HttpContext context)
      Invoked to signal that the request has been fully written out.
      void resetRequest()
      Invoked to reset the producer to its initial state.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • BasicAsyncRequestProducer

        protected BasicAsyncRequestProducer​(org.apache.http.HttpHost target,
                                            org.apache.http.HttpEntityEnclosingRequest request,
                                            HttpAsyncContentProducer producer)
        Creates a producer that can be used to transmit the given request message. The given content producer will be used to stream out message content. Please note that the request message is expected to enclose an HttpEntity whose properties are consistent with the behavior of the content producer.
        Parameters:
        target - target host.
        request - request message.
        producer - request content producer.
      • BasicAsyncRequestProducer

        public BasicAsyncRequestProducer​(org.apache.http.HttpHost target,
                                         org.apache.http.HttpRequest request)
        Creates a producer that can be used to transmit the given request message. If the request message encloses an HttpEntity it is also expected to implement HttpAsyncContentProducer.
        Parameters:
        target - target host.
        request - request message.
    • Method Detail

      • produceContent

        public void produceContent​(ContentEncoder encoder,
                                   IOControl ioctrl)
                            throws java.io.IOException
        Description copied from interface: HttpAsyncRequestProducer
        Invoked to write out a chunk of content to the ContentEncoder. The IOControl interface can be used to suspend output event notifications if the producer 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 HttpAsyncRequestProducer
        Parameters:
        encoder - content encoder.
        ioctrl - I/O control of the underlying connection.
        Throws:
        java.io.IOException - in case of an I/O error
      • requestCompleted

        public void requestCompleted​(org.apache.http.protocol.HttpContext context)
        Description copied from interface: HttpAsyncRequestProducer
        Invoked to signal that the request has been fully written out.
        Specified by:
        requestCompleted in interface HttpAsyncRequestProducer
        Parameters:
        context - HTTP context
      • failed

        public void failed​(java.lang.Exception ex)
        Description copied from interface: HttpAsyncRequestProducer
        Invoked to signal that the response processing terminated abnormally.
        Specified by:
        failed in interface HttpAsyncRequestProducer
        Parameters:
        ex - exception
      • resetRequest

        public void resetRequest()
                          throws java.io.IOException
        Description copied from interface: HttpAsyncRequestProducer
        Invoked to reset the producer to its initial state. Repeatable request producers are expected to release currently allocated resources that are no longer needed or re-acquire resources needed to repeat the process.
        Specified by:
        resetRequest in interface HttpAsyncRequestProducer
        Throws:
        java.io.IOException - in case of an I/O error
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object