hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Mueller" <...@digitalstrider.com>
Subject Re: current state of httpclient 4.0
Date Sun, 10 Jun 2007 14:10:00 GMT
Hi Roland,

Thanks for the pointers, I'll investigate those.

On the website and in the repository there's the HttpAsync Project. It
states in the overview:

   The HttpAsync component provides an asynchronous interface for client
side HTTP communication, which separates the sending of a request from the
receiving of the response. This simplifies development of multithreaded HTTP
applications and allows for new features such as pipelining.

This does look more or less like what I want to do. I take it that as of
yet, not much work has occurred on that front. What are the plans for this
project? Is this the asynchronous variant of HttpClient (with an appropriate
API)? Was it intended to be used both with a blocking and a non-blocking
implementation (only internally, not from the client side of view, i.e. one
implementation on httpcore, one on httpcore-nio)? Are there any thoughts
around, preliminary designs, starting points to investigate for the design
of such a component?

Thanks in advance,
Daniel

On 6/10/07, Roland Weber <ossfwot@dubioso.net> wrote:
>
> Hi Daniel,
>
> > And since my main interest lies in the nio part
> > of the httpcore, what needs to be done to have this part working with
> the
> > httpclient (if there's anything which is not working, not sure about
> that)?
> > Some pointers would be great, so I can speed up my understanding of the
> > code.
>
> Although it's not currently split explicitly into build modules,
> the HttpClient component has four parts of code. They are
> recognizable by the package structure. The four parts are:
>
> * HttpCookie: should work with NIO all right
>
> * HttpAuth: should work with NIO all right. The logic for
> performing authentication is partially in HttpClient (see below),
> in particular the (Default)HttpAuthenticationHandler. That one
> should work all right with NIO, too.
>
> * HttpConn: connection management is strictly blocking IO,
> you can't use that API with NIO. There are some classes about
> route building (HttpRoute, RouteTracker, RouteDirector) which
> I believe can be useful with NIO too.
>
> * HttpClient: the default (and only) implementation is based
> on HttpConn and therefore doesn't mix with NIO. There is one
> class HttpState which has ties to both HttpCookie and HttpAuth,
> that should work all right in a NIO context. Splitting that
> class into pieces that can be put directly in HttpCookie and
> HttpAuth, respectively, is on my list post-alpha1.
>
> The rest of available documentation is the JavaDocs, or the
> pieces of information posted to the mailing list. If you
> need HttpClient functionality or parts thereof in a NIO
> context, I recommend that you dive into class
> o.a.h.impl.client.DefaultClientRequestExecutor. That is
> where all the parts are tied together for blocking IO.
> Identify what you need, then do the same with NIO.
>
> hope that helps,
>   Roland
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> httpcomponents-dev-help@jakarta.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message