hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: [HttpCore] NIO extensions: progress report
Date Sun, 27 Aug 2006 09:47:45 GMT
On Sun, 2006-08-27 at 10:49 +0200, Roland Weber wrote:
> Hi Oleg,
> 
> > I have the first version of an ultra trivial asynchronous I/O event
> > dispatcher ready. My implementation is largely based on the I/O Reactor
> > pattern of Doug Lea. The I/O dispatcher does not do much at the moment
> > but I already have a runnable version of an echo server based on it.
> > Surprisingly, that takes very little code. 
> 
> So I take it that NIO is advantageous primarily on the server side.
> That solves a few of the tihings that have puzzled me so far about
> HttpNIO.
> 

Hi Roland,

NIO is just not suited for protocols like HTTP. Period. The performance
overhead of NIO is just too great for a moderate number of short-lived
connections where data comes in tight bursts. NIO starts paying off only
when the number of simultaneous connections exceeds a thousand and most
of the time those connections stay idle. 

At this point of time I tend to think NIO on the client side makes no
sense at all, as it makes little sense for an HTTP client to keep
hundreds of connections open.  

> > Is anyone interested in seeing the intermediate results of my work and
> > giving my an early feedback? Shall I start committing code early, or
> > shall I hold off until the whole HTTP transport is more or less ready
> > and the API is more or less feature complete?
> 
> I won't be able to give you feedback on NIO, since I don't have the
> time or inclination to learn enough about NIO in the near future.

No need to review the NIO code. Just take a look at the public API and
let me know if it "feels" okay.

> Regarding source repositories, I usually check in as soon as stuff
> compiles. In this case I'm wary because of the pending changes with
> the connections.

I do not expect any changes in the HttpServerConnection. It is the
client side of the story that needs work.

>  On the other hand, code will have to be adapted
> whether it's in the repository or not. So go ahead an commit the
> new stuff if you want to.
> 

I'll start checking in classes, which I have a certain degree of
confidence in not being completely wrong.

Cheers,

Oleg

> cheers,
>   Roland
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org


Mime
View raw message