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 16:12:53 GMT
Hi Roland,

On 6/10/07, Roland Weber <ossfwot@dubioso.net> wrote:
>
> Hi Daniel,
>
> my apologies for the state of our website.


no problem, happens with my projects at work all the time...

The current
> status of HttpAsync is whack-puffed. I buried the ashes
> in SVN [2] just after HttpCore-alpha4 was released.
> There are no current plans to resurrect the idea. Since
> most people associate "async" with "NIO", we are now
> referring to the original idea as HttpDispatch. The
> empty HttpAsync component has become a potential home
> for NIO modules.
>
> > 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)?
>
> Yes. The API is intentionally neutral. I meant to develop
> a blocking implementation, since that's what I know. I
> agree with Oleg that a NIO implementation would make
> more sense.


Sounds like a nice API if there's a decent way to pull it off.

> Are there any thoughts around, preliminary designs,
> > starting points to investigate for the design
> > of such a component?
>
> There is a design page in the Wiki:
> http://wiki.apache.org/jakarta-httpclient/HttpAsyncThreadingDesign
>
> The design for the dispatching of requests using
> blocking IO is rather well developed. There is no
> corresponding design for NIO. Questions such as the
> handling of tunnelling, authentication, redirects,
> or expect-continue handshake (Ouch!) had not yet
> been adressed. I had some ideas about logging,
> but they were not formally written down iirc.
> The design was created at a very early point of
> HttpComponents development. In fact, way too early.
> Since it was whack-puffed, we have created a lot of
> pieces for that puzzle in HttpConn and HttpClient.
>
> If you feel like working on a NIO implementation,
> you could start adding your ideas to the Wiki.
> I can dig out the API and update it based on some
> of the newer pieces in HttpClient and/or HttpConn.
> I feel that at the current state of development,
> there would be no point in resurrecting the early
> attempt at a blocking implementation.
>

I'm now reading the wiki and will then delve into the code. You can expect a
whole host of new questions when I'm through with that ;) A couple of things
I do have already on my mind:

   - I'm not too well versed in http to know all the details involved.
   I'd certainly need a guide so that the things I come up with end up being
   too simplistic. I actually don't quite see the ouch yet, but I'll
   investigate.
   - What version of jdk would you target with httpDispatch? My first
   shot would be: API maybe 1.3, and then pluggable backends depending on
   needs (don't know yet).
   - Is there a testsuite how you test httpclient, beside the unit tests.
   I'd like to have some way of telling if I'm on the right track and
   regression testing most of the time does the trick with alternative
   implementations.

Thanks for the pointers,
Daniel

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