- From: Stefan Nusser <nusser@dec6.wu-wien.ac.at>
- Date: Wed, 25 Sep 96 10:34:14 MET
- To: libwww@w3.org
- Cc: neumann@nestroy.wi-inf.uni-essen.de (Gustaf Neumann), www-lib@w3.org
Hi Henrik,
I think there is a small bug in the 4.1b5 version of libwww, which causes empty net
objects to be queued in a host's pipeline if HTTP/1.0 is used. Consequently, the library
might hang if further requests for the same host are issued. The included patch should
fix the problem and produce the desired behaviour.
I also think that HTTP/1.0 performance is worse now. This is due to the new pipelining
mechanism, which causes all requests for the SAME host to be queued and issued
consecutively. If HTTP/1.0 is used, new requests to the same host should be
issued in parallel as long as free sockeets are available. I will make the necessary
modifications - if you are already working on this, PLEASE LET ME KNOW.
Finally, there is a last modification of the HTDialog Class, I would like to propose. It
would be great if the mapping of HTTP error codes to English error messages could be
made available to the application as public functions. A patch with the necessary
functions is included as well.
Greetings from Vienna,
-stefan
[spike:nusser src]$ diff -c HTHost.c HTHost.c.orig
*** HTHost.c Wed Sep 25 10:41:48 1996
--- HTHost.c.orig Wed Sep 25 10:41:28 1996
***************
*** 541,552 ****
HTNet * net = NULL;
if (host && host->pending && host->pipeline) {
if ((net = (HTNet *) HTList_removeFirstObject(host->pending)) != NULL)
- {
if (PROT_TRACE)
HTTrace("Host info... Popping %p from pending net queue\n",
net);
HTList_addObject(host->pipeline, net);
- }
}
return net;
}
--- 541,550 ----
[spike:nusser src]$ diff -c HTDialog.c HTDialog.c.orig
*** HTDialog.c Wed Sep 25 10:53:23 1996
--- HTDialog.c.orig Wed Sep 25 10:53:15 1996
***************
*** 452,472 ****
}
return YES;
}
-
- PUBLIC char * HTError_message (int index)
- {
- if (index >= 0 && index < HTERR_ELEMENTS)
- return HTErrors[index].msg;
- else
- return "INVALID USAGE";
- }
-
- PUBLIC int HTError_code (int index)
- {
- if (index >= 0 && index < HTERR_ELEMENTS)
- return HTErrors[index].code;
- else
- return -1;
- }
-
-
--- 452,454 ----
--
Stefan Nusser nusser@wu-wien.ac.at
Vienna University of Economics and Business Administration
Department of Management Information Systems
Augasse 2-6, A-1090 Vienna, Austria
Tel: +43 (222) 31 336 x4419 Fax: x746
Received on Wednesday, 25 September 1996 05:00:58 UTC