bagder: curl-www/libcurl/hiper _schedule.html,1.23,1.24
| Newsgroups | gmane.comp.web.curl.www.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/curl/curl-www/libcurl/hiper In directory labb:/tmp/cvs-serv11746 Modified Files: _schedule.html Log Message: blurb of jan 4th Index: _schedule.html =================================================================== RCS file: /cvsroot/curl/curl-www/libcurl/hiper/_schedule.html,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- _schedule.html 3 Jan 2006 15:50:32 -0000 1.23 +++ _schedule.html 4 Jan 2006 14:07:58 -0000 1.24 @@ -33,6 +33,40 @@ <table class="news"> +MARKDATE(Jan 4 2006) I wonder if the easy handle passed to the callback will + ever be used by an application properly since when an action happens on a + socket later on, the app would basically need a hash table lookup to figure + out the easy handle to pass in. And since we want the easy handle pass-in to + be optional, we still need to provide <i>exactly</i> that hash lookup code in + libcurl... I feel tempted to remove the easy handle from the callback and <a + href="/libcurl/c/curl_multi_socket.html">curl_multi_socket()</a> prototypes + for this very reason. +<p> + We already have hash lookup code within libcurl, written and provided a long + time ago by Sterling Hughes and used for the DNS cache. I'll need to + investigate how we can re-use those functions to provide a socket-to-easy + handle lookup. +<p> + The lookup will actually become a "one socket to one or more easy handles"- + lookup (1:N) since in the c-ares case more than one easy handle might be + waiting for the response on the same c-ares socket (when doing asynch DNS + resolving). We'll just have to accept this fact and adjust accordingly. +<p> + The fact that the lookup is a 1:N one is another factor that makes me lean + towards removing the easy handle from the prototypes since I guess we risk + that applications would implement the lookup 1:1 and get into trouble. +<p><b>A few hours later...</b> +<p> + I decided to follow my earlier instinct and I've now removed the 'easy' + argument from the curl_multi_socket() function. It didn't serve any useful + purpose. +<p> + I added the hash table lookup and now I think most of the API is in place and + at least working partly. I need to do more (extensive) testing before I can + be really sure of everything. + +STOP + MARKDATE(Jan 3 2006) Splay code added and it seems to build nicely sorted trees. I implemented <a href="/libcurl/c/curl_multi_timeout.html">curl_multi_timeout()</a> and it