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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
