You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2009/09/04 15:15:50 UTC

[RFC] AsyncHttpClient prototype

Folks

I have put together a very rough, very basic prototype of an asynchronous HTTP
client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
convinced we, as a project, can sustain an additional code line, I would like
to make that code available publicly for two reasons:

(1) there is a change this code may attract new developers; it would much
easier to start with something that works (somehow)

(2) I would like to be able to this client for load testing / performance
optimization of HttpCore

If I hear no objections I will go ahead and commit that code to the official
ASF repository and clearly mark it experimental / non-official. Whether or not
that code ever gets released is subject to an official vote and an open
discussion prior to that. If there are objections, I'll just publish that code
on Google code or elsewhere.

Evil Comrade Oleg

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


[AsyncHttpClient] initial code drop; was Re: [RFC] AsyncHttpClient prototype

Posted by Oleg Kalnichevski <ol...@apache.org>.
Folks

Here's the initial code drop of AsyncHttpClient

https://svn.apache.org/repos/asf/httpcomponents/asynchttpclient/trunk
http://svn.apache.org/repos/asf/httpcomponents/asynchttpclient/trunk/src/examples/org/apache/http/examples/nio/client/AsyncClientRequest.java

Please do note this is merely a proof of concept quality code, which is 
very likely to be very buggy and most certainly is sub-optimal from the 
API standpoint and incomplete from the functionality standpoint.

Whether or not this code ever gets released as an official ASF product 
is still to be seen.

Do feel free to contribute more code / API ideas, though. The more 
contributors this code base may find, the more likely it is to become a 
viable ASF product.

Cheers

Evil Comrade Oleg


Sam Berlin wrote:
> This actually times very well with some work we're going to do on
> refactoring the download code for LimeWire in the coming months.  I or
> someone else on the team should be able to work against a draft of this and
> come up some API that is, at a minimum, is extensible enough for our use
> (which hopefully is a good indication of its use for others too).  Thanks
> very much for starting this, Oleg.
> 
> Sam
> 
> On Fri, Sep 4, 2009 at 9:15 AM, Oleg Kalnichevski <ol...@apache.org> wrote:
> 
>> Folks
>>
>> I have put together a very rough, very basic prototype of an asynchronous
>> HTTP
>> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
>> convinced we, as a project, can sustain an additional code line, I would
>> like
>> to make that code available publicly for two reasons:
>>
>> (1) there is a change this code may attract new developers; it would much
>> easier to start with something that works (somehow)
>>
>> (2) I would like to be able to this client for load testing / performance
>> optimization of HttpCore
>>
>> If I hear no objections I will go ahead and commit that code to the
>> official
>> ASF repository and clearly mark it experimental / non-official. Whether or
>> not
>> that code ever gets released is subject to an official vote and an open
>> discussion prior to that. If there are objections, I'll just publish that
>> code
>> on Google code or elsewhere.
>>
>> Evil Comrade Oleg
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> For additional commands, e-mail: dev-help@hc.apache.org
>>
>>
> 


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


Re: [RFC] AsyncHttpClient prototype

Posted by Oleg Kalnichevski <ol...@apache.org>.
Sam Berlin wrote:
> Oleg,
> 
> I finally had a chance yesterday to look over some of the async stuff.
> Would you prefer that I hack away directly on the code, or summarize
> thoughts in email/JIRA for discussion?
> 
> Thanks.
> 
> Sam
> 

Sam

Create a branch off the trunk and hack away or just hack away on the trunk.

Feel free to post a message with your design / API ideas to the list, 
though, so the rest of the team could have a better idea of what kind of 
changes you are going to make.

Cheers

Oleg

> On Mon, Sep 7, 2009 at 9:13 PM, Sam Berlin <sb...@gmail.com> wrote:
> 
>> This actually times very well with some work we're going to do on
>> refactoring the download code for LimeWire in the coming months.  I or
>> someone else on the team should be able to work against a draft of this and
>> come up some API that is, at a minimum, is extensible enough for our use
>> (which hopefully is a good indication of its use for others too).  Thanks
>> very much for starting this, Oleg.
>>
>> Sam
>>
>> On Fri, Sep 4, 2009 at 9:15 AM, Oleg Kalnichevski <ol...@apache.org>wrote:
>>
>>> Folks
>>>
>>> I have put together a very rough, very basic prototype of an asynchronous
>>> HTTP
>>> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
>>> convinced we, as a project, can sustain an additional code line, I would
>>> like
>>> to make that code available publicly for two reasons:
>>>
>>> (1) there is a change this code may attract new developers; it would much
>>> easier to start with something that works (somehow)
>>>
>>> (2) I would like to be able to this client for load testing / performance
>>> optimization of HttpCore
>>>
>>> If I hear no objections I will go ahead and commit that code to the
>>> official
>>> ASF repository and clearly mark it experimental / non-official. Whether or
>>> not
>>> that code ever gets released is subject to an official vote and an open
>>> discussion prior to that. If there are objections, I'll just publish that
>>> code
>>> on Google code or elsewhere.
>>>
>>> Evil Comrade Oleg
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>>> For additional commands, e-mail: dev-help@hc.apache.org
>>>
>>>
> 


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


Re: [RFC] AsyncHttpClient prototype

Posted by Sam Berlin <sb...@gmail.com>.
Oleg,

I finally had a chance yesterday to look over some of the async stuff.
Would you prefer that I hack away directly on the code, or summarize
thoughts in email/JIRA for discussion?

Thanks.

Sam

On Mon, Sep 7, 2009 at 9:13 PM, Sam Berlin <sb...@gmail.com> wrote:

> This actually times very well with some work we're going to do on
> refactoring the download code for LimeWire in the coming months.  I or
> someone else on the team should be able to work against a draft of this and
> come up some API that is, at a minimum, is extensible enough for our use
> (which hopefully is a good indication of its use for others too).  Thanks
> very much for starting this, Oleg.
>
> Sam
>
> On Fri, Sep 4, 2009 at 9:15 AM, Oleg Kalnichevski <ol...@apache.org>wrote:
>
>> Folks
>>
>> I have put together a very rough, very basic prototype of an asynchronous
>> HTTP
>> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
>> convinced we, as a project, can sustain an additional code line, I would
>> like
>> to make that code available publicly for two reasons:
>>
>> (1) there is a change this code may attract new developers; it would much
>> easier to start with something that works (somehow)
>>
>> (2) I would like to be able to this client for load testing / performance
>> optimization of HttpCore
>>
>> If I hear no objections I will go ahead and commit that code to the
>> official
>> ASF repository and clearly mark it experimental / non-official. Whether or
>> not
>> that code ever gets released is subject to an official vote and an open
>> discussion prior to that. If there are objections, I'll just publish that
>> code
>> on Google code or elsewhere.
>>
>> Evil Comrade Oleg
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> For additional commands, e-mail: dev-help@hc.apache.org
>>
>>
>

Re: [RFC] AsyncHttpClient prototype

Posted by Sam Berlin <sb...@gmail.com>.
This actually times very well with some work we're going to do on
refactoring the download code for LimeWire in the coming months.  I or
someone else on the team should be able to work against a draft of this and
come up some API that is, at a minimum, is extensible enough for our use
(which hopefully is a good indication of its use for others too).  Thanks
very much for starting this, Oleg.

Sam

On Fri, Sep 4, 2009 at 9:15 AM, Oleg Kalnichevski <ol...@apache.org> wrote:

> Folks
>
> I have put together a very rough, very basic prototype of an asynchronous
> HTTP
> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
> convinced we, as a project, can sustain an additional code line, I would
> like
> to make that code available publicly for two reasons:
>
> (1) there is a change this code may attract new developers; it would much
> easier to start with something that works (somehow)
>
> (2) I would like to be able to this client for load testing / performance
> optimization of HttpCore
>
> If I hear no objections I will go ahead and commit that code to the
> official
> ASF repository and clearly mark it experimental / non-official. Whether or
> not
> that code ever gets released is subject to an official vote and an open
> discussion prior to that. If there are objections, I'll just publish that
> code
> on Google code or elsewhere.
>
> Evil Comrade Oleg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>

Re: [RFC] AsyncHttpClient prototype

Posted by sebb <se...@gmail.com>.
On 04/09/2009, Asankha C. Perera <as...@apache.org> wrote:
> Hi Oleg
>
> > I have put together a very rough, very basic prototype of an asynchronous HTTP
>  > client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
>  > convinced we, as a project, can sustain an additional code line, I would like
>  > to make that code available publicly for two reasons:
>  >
>  > (1) there is a change this code may attract new developers; it would much
>  > easier to start with something that works (somehow)
>  >
>  > (2) I would like to be able to this client for load testing / performance
>  > optimization of HttpCore
>  >
>  > If I hear no objections I will go ahead and commit that code to the official
>  > ASF repository and clearly mark it experimental / non-official. Whether or not
>  > that code ever gets released is subject to an official vote and an open
>  > discussion prior to that. If there are objections, I'll just publish that code
>  > on Google code or elsewhere.
>  >
>
> I have no objection to adding this code into the official repository
>  under HC. Infact, I would be much interested to work with this code base
>  as time permits me. I cannot think of any reason why anyone might object
>  to this code being committed as experimental code - Infact the
>  "benchmark" - one of the contrib code from HC - has been so useful to me
>  and many others in the past. I think there is very good potential for
>  this code to survive under HC, and believe others shares my view as well
>  on this

Indeed, +1.

>  thanks
>
> asankha
>
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>  For additional commands, e-mail: dev-help@hc.apache.org
>
>

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


Re: [RFC] AsyncHttpClient prototype

Posted by "Asankha C. Perera" <as...@apache.org>.
Hi Oleg
> I have put together a very rough, very basic prototype of an asynchronous HTTP
> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
> convinced we, as a project, can sustain an additional code line, I would like
> to make that code available publicly for two reasons:
>
> (1) there is a change this code may attract new developers; it would much
> easier to start with something that works (somehow)
>
> (2) I would like to be able to this client for load testing / performance
> optimization of HttpCore
>
> If I hear no objections I will go ahead and commit that code to the official
> ASF repository and clearly mark it experimental / non-official. Whether or not
> that code ever gets released is subject to an official vote and an open
> discussion prior to that. If there are objections, I'll just publish that code
> on Google code or elsewhere.
>   
I have no objection to adding this code into the official repository
under HC. Infact, I would be much interested to work with this code base
as time permits me. I cannot think of any reason why anyone might object
to this code being committed as experimental code - Infact the
"benchmark" - one of the contrib code from HC - has been so useful to me
and many others in the past. I think there is very good potential for
this code to survive under HC, and believe others shares my view as well
on this

thanks
asankha


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


Re: [RFC] AsyncHttpClient prototype

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Fri, Sep 04, 2009 at 03:19:07PM +0200, Quintin Beukes wrote:
> I must have missed a conversation somewhere, but what would an async client
> be?
> 

It would be to HttpCore NIO what HttpClient is to blocking HttpCore: a layer of
advanced client side services such as connection pooling, proxy support,
authentication and state management.

Oleg  


> Q
> 
> On Fri, Sep 4, 2009 at 3:15 PM, Oleg Kalnichevski <ol...@apache.org> wrote:
> 
> > Folks
> >
> > I have put together a very rough, very basic prototype of an asynchronous
> > HTTP
> > client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
> > convinced we, as a project, can sustain an additional code line, I would
> > like
> > to make that code available publicly for two reasons:
> >
> > (1) there is a change this code may attract new developers; it would much
> > easier to start with something that works (somehow)
> >
> > (2) I would like to be able to this client for load testing / performance
> > optimization of HttpCore
> >
> > If I hear no objections I will go ahead and commit that code to the
> > official
> > ASF repository and clearly mark it experimental / non-official. Whether or
> > not
> > that code ever gets released is subject to an official vote and an open
> > discussion prior to that. If there are objections, I'll just publish that
> > code
> > on Google code or elsewhere.
> >
> > Evil Comrade Oleg
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > For additional commands, e-mail: dev-help@hc.apache.org
> >
> >
> 
> 
> -- 
> Quintin Beukes

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


Re: [RFC] AsyncHttpClient prototype

Posted by Quintin Beukes <qu...@skywalk.co.za>.
I must have missed a conversation somewhere, but what would an async client
be?

Q

On Fri, Sep 4, 2009 at 3:15 PM, Oleg Kalnichevski <ol...@apache.org> wrote:

> Folks
>
> I have put together a very rough, very basic prototype of an asynchronous
> HTTP
> client based on HttpCore NIO 4.0 and HttpClient 4.0. While I am still not
> convinced we, as a project, can sustain an additional code line, I would
> like
> to make that code available publicly for two reasons:
>
> (1) there is a change this code may attract new developers; it would much
> easier to start with something that works (somehow)
>
> (2) I would like to be able to this client for load testing / performance
> optimization of HttpCore
>
> If I hear no objections I will go ahead and commit that code to the
> official
> ASF repository and clearly mark it experimental / non-official. Whether or
> not
> that code ever gets released is subject to an official vote and an open
> discussion prior to that. If there are objections, I'll just publish that
> code
> on Google code or elsewhere.
>
> Evil Comrade Oleg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>


-- 
Quintin Beukes