Hi, On 2010-03-17 at 06:39:19 [+0100], Varrun Ramani <varrunr@xxxxxxxxx> wrote: > I am interested in contributing to Haiku. I have downloaded the source and > built it and run it with qemu. I have also submitted a simple patch. > > I was going through the ideas list for GSOC 2010, and was interested in > http://www.haiku-os.org/community/gsoc/2010/ideas#network , the idea > relating to "Create C++ network stack class framework". Since i have > experience coding in C++, I wish to start upon this. I would like to clear a > few doubts i had. > > Since we would be replicating functionality of curl, what features are being > targeted to be implemented first i.e which protocols(HTTP,FTP, etc.) should > it support and what all authentication modes(Kerberos, NTLM , etc) are > targeted? Why not just use libcurl? I also wish to know if there any other > details I am missing. How can i start off with the project and can anyone > mentor me for the same? The idea being listed stems from my work on the WebKit browser. In WebCore, various "network" backend implementations exist, including a cURL backend. No other port uses the cURL backend anymore, except for Haiku, as far as I am aware. The advantage of the other ports is a much more fine-grained control over network requests. Maybe it is possible to achieve the same with cURL, but it may or may not need a lot of work to overcome some current limitations like missing asynchronous requests and perhaps more. Unfortunately I haven't looked deeply into the issue. The networking backends of the other port are probably a good example of what is needed. Ryan mentioned the Chromium backend, personally I've only looked at the Qt backend. Both backends also offer transparent local caching of network data. I suppose the Qt framework is a good design and the Haiku class framework should be similar. Maybe the Chromium design is even better. The first task is to look at the requirements of the web browser and other networked applications and digest the existing frameworks to destill the best design. Best regards, -Stephan